2017-01-28 6 views
0
class A { 
    method x() { 
    } 

    method y() { 
    } 
} 

class B { 
    A a = new A(); 
    String methodName = "x"; 
    // I want to execute this statement **a.x();** 
} 

私はメソッド名を知っていて、メソッドを自動的に呼びたいと思う。あなたのケースではJavaクラス内のメソッドを検索したい。私はメソッド名を文字列として持ち、クラスの名前は私が探している

+0

これから何を理解すると思いますか?説明してください –

答えて

0

だけ呼び出す:

NoSuchMethodException 
InvocationTargetException 
IllegalAccessException 

そしてgetDeclaredMethod代わりにgetMethodを使用するだけでx方法は、公開またはメイク:

a.getClass().getMethod(methodName, null).invoke(a); 

がスローされた例外について覚えておいてください。

関連する問題