Rumah> Java> javaTutorial> teks badan

Bagaimanakah mekanisme pantulan Java berfungsi dengan pemantul itu sendiri?

WBOY
Lepaskan: 2024-05-04 08:57:02
asal
367 orang telah melayarinya

Mekanisme pantulan Java membolehkan penerokaan pemantul itu sendiri, dan anda boleh mendapatkan anotasi pada objek Kaedah melalui pantulan, termasuk jenis dan nilai anotasi.

Bagaimanakah mekanisme pantulan Java berfungsi dengan pemantul itu sendiri?

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 Anotasi pada objek 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() { } }
Salin selepas log masuk

结果:

@MyAnnotation(value=Hello, World!)
Salin selepas log masuk

解析:

  • 我们首先使用Main.class.getMethod("annotatedMethod")获取Main类的annotatedMethod方法的Method对象。
  • 然后,我们使用method.getAnnotations()获取该方法上的所有注解,并将其存储在annotations数组中。
  • 最后,我们遍历annotations数组,并打印每个注解的类型和值。

这个示例展示了如何使用反射机制来获取Method

    Kita boleh menggunakan refleksi untuk mendapatkan anotasi yang dilampirkan pada objek Method. Berikut ialah contoh kod:
  • rrreee
  • Keputusan:
  • rrreee
Analisis: Kami mula-mula menggunakan Main.class.getMethod("annotatedMethod")untuk mendapatkan Objek Methodkaedah annotatedMethodkelas. 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!