java怎么执行invoke方法
Java ではリフレクション機構を使用してメソッドの呼び出し(invoke)を実行できます。具体的には、以下のような手順です。
- クラス
- メソッドを取得
- getDeclaredMethod()
- 日本語のネイティブスピーカーによって表現される文章
- setAccessible(true)
- 起動する
- 呼び出す
- 生まれながらに高い才能を持った、とても優れた若者
次にサンプルのコードを記載します。
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws Exception {
// 获取目标类的Class对象
Class<?> clazz = TargetClass.class;
// 获取目标方法的Method对象
Method method = clazz.getMethod("methodName", int.class, String.class);
// 设置目标方法的可访问性
method.setAccessible(true);
// 创建目标类的实例对象
TargetClass target = new TargetClass();
// 执行目标方法
Object result = method.invoke(target, 123, "hello");
// 输出执行结果
System.out.println("Result: " + result);
}
}
class TargetClass {
public void methodName(int num, String str) {
System.out.println("Method executed: " + num + ", " + str);
}
}
上記の例では TargetClass は methodName と呼ばれるメソッドを持つクラスです。 まず getMethod メソッドを用いてメソッドの Method オブジェクトを取得し、setAccessible(true) メソッドでアクセス可能にします。 続いて invoke メソッドで対象メソッドを実行し、実行結果を出力しています。