Rumah > Java > javaTutorial > Apakah tiga kaedah refleksi java

Apakah tiga kaedah refleksi java

小老鼠
Lepaskan: 2024-01-02 16:58:20
asal
659 orang telah melayarinya

Tiga kaedah refleksi Java: 1. Dapatkan objek Kelas 2. Dapatkan pembina, medan dan kaedah kelas 3. Panggil kaedah dan akses medan melalui refleksi. Pengenalan terperinci: 1. Dapatkan objek Kelas: Anda boleh mendapatkan objek Kelas melalui salah satu daripada tiga kaedah: pemerolehan objek, pemerolehan nama kelas, dan pemerolehan nama kelas yang layak sepenuhnya, untuk mendapatkan maklumat tentang kelas; kaedah pembina kelas , Medan dan kaedah: Melalui objek Kelas, anda boleh mendapatkan pembina, medan dan kaedah kelas 3. Kaedah panggilan dan akses medan melalui refleksi, dsb.

Apakah tiga kaedah refleksi java

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Di Java, refleksi ialah mekanisme berkuasa yang membolehkan mendapatkan maklumat kelas, memanggil kaedah kelas, mengakses medan kelas, dsb. pada masa jalan. Refleksi menyediakan tiga kaedah utama untuk melaksanakan operasi ini:

1. Dapatkan objek Kelas: Anda boleh menggunakan salah satu daripada tiga kaedah berikut untuk mendapatkan objek Kelas untuk mendapatkan maklumat tentang kelas.

Melalui objek: Gunakan kaedah getClass() objek.

MyClass obj = new MyClass();
Class<?> myClass = obj.getClass();
Salin selepas log masuk

Diperolehi mengikut nama kelas: Gunakan atribut kelas bagi nama kelas.

Class<?> myClass = MyClass.class;
Salin selepas log masuk

Diperolehi melalui nama kelas yang layak sepenuhnya: gunakan kaedah Class.forName().

Class<?> myClass = Class.forName("com.example.MyClass");
Salin selepas log masuk

2 Dapatkan pembina, medan dan kaedah kelas: Melalui objek Kelas, anda boleh mendapatkan pembina, medan dan kaedah kelas.

Dapatkan pembina:

Constructor<?>[] constructors = myClass.getConstructors();
Salin selepas log masuk

Dapatkan medan:

Field[] fields = myClass.getDeclaredFields();
Salin selepas log masuk

Dapatkan kaedah:

Method[] methods = myClass.getMethods();
Salin selepas log masuk

anda melalui objek dan pantulan medan.3 boleh memanggil kaedah kelas dan mengakses nilai medan.

Kaedah panggilan:

Method myMethod = myClass.getMethod("methodName", parameterTypes);
myMethod.invoke(objectInstance, args);
Salin selepas log masuk

Medan akses:

Field myField = myClass.getDeclaredField("fieldName");
myField.setAccessible(true); // 如果字段是私有的,需要设置为可访问
Object fieldValue = myField.get(objectInstance);
Salin selepas log masuk

Tiga kaedah akses pada masa ini, fleksibiliti untuk mendapatkan maklumat kelas. Walau bagaimanapun, maklum bahawa operasi pantulan mungkin dikenakan overhed prestasi dan memerlukan pengendalian pengecualian apabila menggunakannya.

Atas ialah kandungan terperinci Apakah tiga kaedah refleksi java. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan