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 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
anotasi
dan mencetak jenis dan nilai setiap anotasi. Contoh ini menunjukkan cara menggunakan mekanisme pantulan untuk mendapatkan anotasi pada objek
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!