Jika kita ingin mendapatkan nama kelas yang sedang berjalan, bagaimana kita hendak mendapatkannya?
Dalam kelas Kelas, terdapat kaedah berikut:
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:
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(){}; }
dan masih boleh. 't dapatkan nama kelas kelas induk , kemudian mari kita lihat kaedah geClass() Kaedah ini berada dalam objek Object
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?
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 <.> Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nama kelas dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!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();
}
}