Mekanisme refleksi Java dilaksanakan melalui mekanisme berikut: Reflection API menyediakan antara muka dan kelas untuk mengakses dan memanipulasi data yang dicerminkan. JVM mengekalkan struktur data dalaman yang mengandungi metadata untuk semua kelas yang dimuatkan. Mekanisme refleksi melakukan operasi introspeksi dengan mengakses data ini.
Prinsip mekanisme pantulan Java
Mekanisme pantulan Java membenarkan atur cara untuk memeriksa dan mengubah suai struktur dan tingkah laku kelas Java semasa runtime. Ia menyediakan keupayaan introspeksi yang membolehkan kami memuatkan kelas, mencipta objek, memanggil kaedah dan mendapatkan atau menetapkan nilai medan.
Prinsip
Mekanisme refleksi dilaksanakan melalui mekanisme berikut:
Kelas
danKaedah code>, dengan untuk mengakses dan memanipulasi data yang dicerminkan.
Class
和
Method
,用于访问和操作反射数据。
使用方式
要使用反射机制,需要使用Class
类。Class
对象表示正在检查或修改的类。可以如下方式获取Class
对象:
ClassName.class
,例如:String.class
Class.forName("ClassName")
Object.getClass()
实战案例
以下是一个通过反射机制创建对象并调用其方法的示例:
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.class
获取String
类的Class
对象。然后,使用newInstance()
创建一个String
对象。接着,获取concat()
方法的Method
Kelas
. Objek
Class
mewakili kelas yang sedang diperiksa atau diubah suai. Objek
Class
boleh diperolehi seperti berikut: melalui
ClassName.class
, contohnya:
String.class
melalui
Class.forName("ClassName")
Melalui
Object.getClass()
Kes praktikalYang berikut ialah pantulan Contoh mekanisme mencipta objek dan memanggil kaedahnya: rrreeeDalam contoh ini, kita mendapat objek
Class
kelas
String
melalui
String .class
. Kemudian, gunakan
newInstance()
untuk mencipta objek
String
. Seterusnya, dapatkan objek
Kaedah
kaedah
concat()
dan panggilnya, lulus hujah dan dapatkan hasilnya.
Atas ialah kandungan terperinci Apakah prinsip mekanisme refleksi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!