Rumah > Java > javaTutorial > teks badan

Java menggunakan fungsi getClass() kelas Objek untuk mendapatkan kelas masa jalan objek

PHPz
Lepaskan: 2023-07-24 11:37:52
asal
970 orang telah melayarinya

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());
    }
}
Salin selepas log masuk

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());
}
Salin selepas log masuk

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!

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