java リフレクション メカニズムは、次のメカニズムを通じて実装されます。 リフレクション API は、リフレクション データにアクセスして操作するためのインターフェイスとクラスを提供します。 JVM は、ロードされたすべてのクラスのメタデータを含む内部データ構造を維持します。リフレクション メカニズムは、このデータにアクセスすることによってイントロスペクション操作を実行します。
#Java リフレクション メカニズムの原理
Java リフレクション メカニズムを使用すると、プログラムは Java クラスの構造と動作を検査および変更できます。実行時。これは、クラスのロード、オブジェクトの作成、メソッドの呼び出し、フィールド値の取得または設定を可能にするイントロスペクション機能を提供します。原則
リフレクション メカニズムは次のメカニズムを通じて実装されます: や
Method などのインターフェイスとクラスは、反映されたデータにアクセスして操作するために使用されます。
使用法
リフレクション メカニズムを使用するには、Class クラスを使用する必要があります。
Class オブジェクトは、検査または変更されるクラスを表します。
Class オブジェクトは次のように取得できます:
(例:
String.class
)
実際のケース
以下は、オブジェクトを作成し、リフレクション メカニズムを通じてそのメソッドを呼び出す例です。import java.lang.reflect.Class; import java.lang.reflect.Method; public class ReflectionDemo { public static void main(String[] args) throws Exception { // 获取 String 类 Class<?> stringClass = String.class; // 创建 String 对象 Object stringObject = stringClass.newInstance(); // 获取 concat 方法 Method concatMethod = stringClass.getMethod("concat", String.class); // 调用 concat 方法 String result = (String) concatMethod.invoke(stringObject, "World"); // 打印结果 System.out.println(result); // 输出: HelloWorld } }
String# から String を取得します。 .class
## クラスの Class
オブジェクト。次に、newInstance()
を使用して String
オブジェクトを作成します。次に、concat()
メソッドの Method
オブジェクトを取得して呼び出し、引数を渡して結果を取得します。
以上がJava リフレクション メカニズムの原理は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。