Rumah >Java >javaTutorial >Bagaimanakah mekanisme pantulan Java berfungsi dengan pemantul itu sendiri?
Mekanisme pantulan Java membolehkan penerokaan pemantul itu sendiri, dan anda boleh mendapatkan anotasi pada objek Kaedah melalui pantulan, termasuk jenis dan nilai anotasi.
Mekanisme pantulan Java digunakan dalam pemantul itu sendiri
Mekanisme pantulan Java membenarkan atur cara untuk memeriksa dan mengubah suai struktur kelas pada masa jalanan, tetapi jarang digunakan untuk meneroka mekanisme pantulan itu sendiri. Artikel ini akan menggunakan kes praktikal untuk menunjukkan cara menggunakan mekanisme pantulan untuk mengkaji operasi pemantul.
Kes: Dapatkan Method
Method
对象上的 Annotation
我们可以使用反射来获取 Method
对象上附加的注解。以下是示例代码:
import java.lang.annotation.Annotation; import java.lang.reflect.Method; public class Main { public static void main(String[] args) { try { // 获取 Method 对象 Method method = Main.class.getMethod("annotatedMethod"); // 使用反射获取注解 Annotation[] annotations = method.getAnnotations(); // 遍历并打印注解 for (Annotation annotation : annotations) { System.out.println(annotation); } } catch (NoSuchMethodException e) { e.printStackTrace(); } } @MyAnnotation("Hello, World!") public void annotatedMethod() { } }
结果:
@MyAnnotation(value=Hello, World!)
解析:
Main.class.getMethod("annotatedMethod")
获取 Main
类的 annotatedMethod
方法的 Method
对象。method.getAnnotations()
获取该方法上的所有注解,并将其存储在 annotations
数组中。annotations
数组,并打印每个注解的类型和值。这个示例展示了如何使用反射机制来获取 Method
Method
. Berikut ialah contoh kod: Main.class.getMethod("annotatedMethod")
untuk mendapatkan Objek <code>Method
kaedah annotatedMethod
kelas. 🎜🎜Kemudian kami menggunakan method.getAnnotations()
untuk mendapatkan semua anotasi pada kaedah dan menyimpannya dalam tatasusunan anotasi
. 🎜🎜Akhir sekali, kami mengulangi tatasusunan Kaedah
. Prinsip yang sama boleh digunakan untuk meneroka mana-mana aspek lain mekanisme pantulan, contohnya: 🎜🎜🎜 Dapatkan kelas induk dan antara muka kelas 🎜🎜 Dapatkan jenis dan nilai medan 🎜🎜 Ubah suai sifat kelas ( seperti hak akses) 🎜🎜Atas ialah kandungan terperinci Bagaimanakah mekanisme pantulan Java berfungsi dengan pemantul itu sendiri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!