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
dan Kaedah 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 praktikal🎜🎜🎜Yang berikut ialah pantulan Contoh mekanisme mencipta objek dan memanggil kaedahnya: 🎜rrreee🎜Dalam 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!