リフレクションを介してオブジェクトのメソッドを呼び出すには、その方法を知っている唯一の方法は次のとおりです。
Object o = ...;
Method m = o.getClass().getMethod("methodName",null);
Object x = m.invoke(o,null);
Java の Object クラスに getMethods メソッドがないのはなぜですか? (getSuperClass、getFields などと同様)。
したがって、次のようなことができます。
Object x = o.invoke("methodName",null);
なぜだめですか?これはパフォーマンス上の理由によるものだと思います。
(補足として。英語では、「サブジェクトがオブジェクトを呼び出す」と言う方が理にかなっています。プログラミング用語では、オブジェクトはメソッドを呼び出します。しかし Java では、「オブジェクトでメソッドを呼び出す」となります。混乱できてよかったです。あなたは今日。)