Rumah >Java >javaTutorial >Bagaimana untuk mendapatkan nama kelas dalam java

Bagaimana untuk mendapatkan nama kelas dalam java

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2023-05-03 16:55:072567semak imbas

Jika kita ingin mendapatkan nama kelas yang sedang berjalan, bagaimana kita hendak mendapatkannya?

Dalam kelas Kelas, terdapat kaedah berikut:

Bagaimana untuk mendapatkan nama kelas dalam java

Sebagai contoh, kini terdapat kelas Demo7 .java

package pxx.test1;
 
public class Demo7 {
    public static void main(String[] args) {
        Demo7 demo7 = new Demo7();
        System.out.println(demo7.getClass().getName());
    }
}

Hasil operasi:

Bagaimana untuk mendapatkan nama kelas dalam java

Di atas ialah objek memanggil terus getClass() untuk mendapatkan Objek kelas, dan kemudian panggil getName () Dapatkan nama kelas yang sedang berjalan.

Jadi jika kelas mewarisi kelas, bagaimana untuk mendapatkan nama kelas semasa dan nama kelas induk? >Demo9.java

package pxx.test1;
 
public class Demo8 {
    int num;
    String name;
    public Demo8(){};
}
Di atas kami menggunakan super untuk memanggil kaedah getClass(), dan kemudian mendapatkan nama kelas Perlu diingatkan di sini bahawa super hanya boleh memanggil kaedah bukan statik induk class. , dan tidak boleh dipanggil dalam kaedah statik, kerana super, seperti ini, adalah berdasarkan operasi objek. Bercakap mengenainya, getClass() kelas induk dipanggil di sini, jadi saya ingin mendapatkan nama kelas kelas induk Baik, saya menjalankan

dan masih boleh. 't dapatkan nama kelas kelas induk , kemudian mari kita lihat kaedah geClass() Kaedah ini berada dalam objek Object

Bagaimana untuk mendapatkan nama kelas dalam java Ternyata. kaedah ini adalah muktamad, iaitu kaedah ini diwarisi oleh kelas lain Ya, tetapi ia tidak boleh ditindih Oleh itu, this.getClass dan super.getClass akhirnya memanggil kaedah getClass dalam kelas Objek, dan definisi ini. kaedah adalah untuk mengembalikan kelas runtime Object, jadi di atas akan mengembalikan nama kelasnya sendiri dan bukannya nama kelas induk.

Jadi bagaimana untuk mendapatkan nama kelas induk?

Bagaimana untuk mendapatkan nama kelas dalam java Mari pergi ke kelas Kelas dan lihat dan cari kaedah berikut:

Bermaksud di atas, Akan mengembalikan kelas induk kelas panggilan semasa Selepas mendapat kelas induk, kita masih boleh menggunakan getName() untuk mendapatkan nama di atas

package pxx.test1;
 
public class Demo9 extends Demo8 {
    public void test() {
        System.out.println(super.getClass().getName());
    }
    public static void main(String[] args) {
        new Demo9().test();
    }
}

Hasil yang sedang dijalankan:

Bagaimana untuk mendapatkan nama kelas dalam java<.>

Dengan cara ini anda mendapat nama kelas kelas induk

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nama kelas dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam