ホームページ  >  記事  >  Java  >  Javaリフレクションを使用してメソッドを呼び出すにはどうすればよいですか?

Javaリフレクションを使用してメソッドを呼び出すにはどうすればよいですか?

WBOY
WBOY転載
2023-04-24 14:22:072031ブラウズ

1. 静的メソッドを呼び出すには

Class<?> threadClazz = Class.forName("java.lang.Math");
Method method = threadClazz.getMethod("abs", long.class);
System.out.println(method.invoke(null, -10000l));

invoke メソッドの最初のパラメータを null に設定するだけです。

2. クラス

のコンストラクター メソッドを呼び出す

public Constructor getConstructor(Class<?>… parameterTypes) throws NoSuchMethodException, SecurityException

クラスで指定されたパラメーター型のコンストラクターを取得する のみ可能クラス内のパブリック権限を取得する コンストラクター メソッド

public Constructor getDeclaredConstructor(Class<?>… parameterTypes)

は、プライベート コンストラクターを含む、クラス内のすべてのコンストラクター メソッドを取得できます。

3.クラス

public Method getMethod(String name, Class<?>… parameterTypes)
//方法有重载所以要传名称和参数类型取得本类以及父类中所有public方法
public Method getDeclaredMethod(String name, Class<?..parameterTypes)
取得本类中全部普通方法,包括私有方法。
内の指定された名前の通常のメソッドを呼び出します。

以上がJavaリフレクションを使用してメソッドを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。