Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas masa jalan objek
Dalam Java, setiap objek mempunyai kelas, dan kelas ini mentakrifkan sifat dan kaedah objek. Kita boleh menggunakan fungsi getClass() untuk mendapatkan kelas runtime sesuatu objek. Fungsi getClass() ialah fungsi ahli kelas Objek, jadi semua objek Java boleh memanggil fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi getClass() dan memberikan beberapa contoh kod.
Sangat mudah untuk mendapatkan kelas runtime menggunakan fungsi getClass(). Kita hanya perlu memanggil fungsi getClass() objek, yang akan mengembalikan objek Kelas yang mewakili kelas masa jalan objek. Berikut ialah contoh:
public class Person { private String name; private int age; // 构造函数 public Person(String name, int age) { this.name = name; this.age = age; } // Getter和Setter方法 // ... public static void main(String[] args) { Person person = new Person("John", 25); Class<? extends Person> clazz = person.getClass(); System.out.println(clazz.getName()); } }
Dalam contoh di atas, kami mencipta orang objek bagi kelas Orang, memanggil fungsi getClass() objek orang itu dan menetapkan nilai pulangan kepada klazz pembolehubah jenis Kelas. Kemudian, kita mendapat nama kelas runtime objek orang dengan memanggil fungsi getName() clazz.
Perlu diambil perhatian bahawa fungsi getClass() mengembalikan objek Kelas, yang mengandungi maklumat tentang kelas yang dimiliki objek itu. Kita boleh memanggil banyak fungsi berguna melalui objek ini untuk mendapatkan nama kelas, pengubah suai, kelas induk, antara muka, pembina, medan dan maklumat lain.
Berikut ialah contoh beberapa fungsi objek Kelas yang biasa digunakan:
Class<? extends Person> clazz = person.getClass(); // 获取运行时类的名称(包含包名) System.out.println(clazz.getName()); // 获取运行时类的简单名称(不包含包名) System.out.println(clazz.getSimpleName()); // 获取运行时类的修饰符 int modifiers = clazz.getModifiers(); System.out.println(Modifier.toString(modifiers)); // 获取运行时类的父类 Class<?> superClass = clazz.getSuperclass(); System.out.println(superClass.getName()); // 获取运行时类实现的接口 Class<?>[] interfaces = clazz.getInterfaces(); for (Class<?> iface : interfaces) { System.out.println(iface.getName()); } // 获取运行时类的构造函数 Constructor<?>[] constructors = clazz.getConstructors(); for (Constructor<?> constructor : constructors) { System.out.println(constructor.getName()); } // 获取运行时类的字段 Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { System.out.println(field.getName()); }
Ringkasnya, fungsi getClass() Java ialah fungsi yang sangat berguna, yang membolehkan kita mendapatkan kelas masa jalan sesuatu objek pada masa jalan dan mendapatkannya melalui Kelas objek Pelbagai maklumat tentang kelas ini. Ia sangat membantu untuk menulis kod umum, melaksanakan operasi refleksi dan kod penyahpepijatan. Saya harap pengenalan dan contoh dalam artikel ini dapat membantu pembaca memahami dan menggunakan fungsi getClass() dengan lebih baik.
Atas ialah kandungan terperinci Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas masa jalan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!