Mekanisme pantulan Java berada dalam keadaan berjalan Untuk mana-mana kelas, semua sifat dan kaedah kelas ini boleh diperolehi, dan untuk mana-mana objek, mana-mana sifat dan kaedahnya boleh dipanggil. kaedah. Fungsi mendapatkan maklumat secara dinamik dan memanggil kaedah objek secara dinamik pada masa jalan dipanggil mekanisme refleksi Java. Kelas
Kelas menyokong konsep refleksi bersama-sama dengan perpustakaan kelas java.lang.reflect, yang mengandungi kelas Field, Method dan Constructor (setiap kelas melaksanakan antara muka Ahli). Objek jenis ini dicipta oleh JVM pada masa jalan untuk mewakili ahli kelas yang tidak diketahui yang sepadan. Dengan cara ini anda boleh menggunakan Pembina untuk mencipta objek baharu, menggunakan kaedah get() dan set() untuk membaca dan mengubah suai medan yang dikaitkan dengan objek Medan dan menggunakan kaedah invoke() untuk memanggil kaedah yang dikaitkan dengan objek Kaedah.
Selain itu, anda juga boleh memanggil kaedah yang mudah seperti getFields() getMethods() dan getConstructors() untuk mengembalikan tatasusunan objek yang mewakili medan, kaedah dan pembina. Dengan cara ini, maklumat objek tanpa nama
boleh ditentukan sepenuhnya pada masa jalan, tanpa mengetahui apa-apa pada masa penyusunan.
package com.microSpringboot.ReadingList.reflect; import java.lang.reflect.Constructor; public class ReflectTest { public static void main(String[] args) throws Exception { Class clazz = null; clazz = Class.forName("com.microSpringboot.ReadingList.reflect.Fruit"); Constructor<Fruit> constructor1 = clazz.getConstructor(); Constructor<Fruit> constructor2 = clazz.getConstructor(String.class); Fruit fruit1 = constructor1.newInstance(); Fruit fruit2 = constructor2.newInstance("Apple"); } } class Fruit { public Fruit() { System.out.println("无参构造器 Run..........."); } public Fruit(String type) { System.out.println("有参构造器 Run..........." + type); } }
1 Melaksanakan mekanisme pantulan melalui objek baharu
2. Laksanakan mekanisme pantulan melalui laluan
3 . Nama kelas melaksanakan mekanisme refleksi
运行结果: 无参构造器 Run……….. 有参构造器 Run………..Apple
Atas ialah kandungan terperinci Apakah mekanisme refleksi Java dan cara mendapatkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!