Kaedah panggilan yang biasa digunakan dalam refleksi Java memerlukan contoh kod khusus
Pengenalan:
Refleksi Java ialah ciri bahasa Java yang berkuasa, yang membolehkan kami memperoleh maklumat kelas secara dinamik dan mengendalikan kelas pada masa jalan Sifat, kaedah, pembina, dsb. . Di Jawa, dengan menggunakan refleksi, kita boleh mencapai banyak fungsi, seperti mencipta objek secara dinamik, kaedah memanggil dan mengubah suai sifat peribadi. Artikel ini akan memperkenalkan kaedah panggilan yang biasa digunakan dalam refleksi dalam Java dan memberikan contoh kod khusus.
Dapatkan objek Kelas
Sebelum menggunakan refleksi, anda perlu terlebih dahulu mendapatkan objek Kelas kelas untuk dikendalikan. Objek Kelas boleh diperolehi dalam tiga cara berikut:
1.1 Menggunakan kaedah getClass() objek
Contohnya, jika kita mempunyai objek bernama "contoh", kita boleh menggunakan kod berikut untuk mendapatkan objek Kelasnya:
Class<?> clazz = example.getClass();
1.2 Menggunakan sintaks kelas .Jika kita menggunakan nama kelas secara langsung untuk mendapatkan objek Kelas, kita boleh menggunakan sintaks berikut:
Class<?> clazz = Example.class;
Jika kita hanya tahu nama kelas , kita boleh menggunakan kod berikut untuk mendapatkan objek Kelas:
Class<?> clazz = Class.forName("com.example.Example");
Gunakan refleksi untuk mencipta objek secara dinamik pada masa jalan. Objek contoh boleh dibuat dengan kod berikut:
Example example = (Example) clazz.getDeclaredConstructor().newInstance();
Anda boleh menggunakan refleksi untuk mendapatkan pembolehubah ahli kelas. Kod berikut menunjukkan cara mendapatkan pembolehubah ahli persendirian kelas dan mengubah suai nilainya:
Field field = clazz.getDeclaredField("privateField"); field.setAccessible(true); field.set(example, "new value");
Anda boleh menggunakan refleksi untuk memanggil kaedah kelas. Berikut ialah contoh kod yang menunjukkan cara memanggil kaedah awam kelas:
Method method = clazz.getMethod("publicMethod", String.class); method.invoke(example, "parameter");
Melalui refleksi, kami juga boleh memanggil kaedah persendirian kelas. Kod berikut menunjukkan cara memanggil kaedah peribadi kelas:
Method method = clazz.getDeclaredMethod("privateMethod"); method.setAccessible(true); method.invoke(example);
Melalui refleksi, kita boleh mendapatkan maklumat kelas secara dinamik dan mengendalikan atribut kelas, kaedah, pembina, dsb. pada masa jalan. Artikel ini memperkenalkan kaedah panggilan yang biasa digunakan dalam refleksi dalam Java dan menyediakan contoh kod khusus. Menggunakan refleksi boleh membawa kemudahan besar kepada pembangunan kita, tetapi penggunaan refleksi yang berlebihan juga boleh menyebabkan masalah dengan kebolehbacaan dan prestasi kod, jadi kita perlu mempertimbangkan dengan teliti apabila menggunakan refleksi.
Atas ialah kandungan terperinci Kaedah panggilan yang biasa digunakan dalam refleksi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!