Si nous voulons obtenir le nom de la classe en cours, comment pouvons-nous l'obtenir ?
Dans la classe Class, il y a la méthode suivante :
#🎜🎜 # Par exemple, il existe une classe Demo7.java
package pxx.test1; public class Demo7 { public static void main(String[] args) { Demo7 demo7 = new Demo7(); System.out.println(demo7.getClass().getName()); } }
Le résultat en cours d'exécution est :
. #🎜 🎜#Ce qui précède est que l'objet appelle directement getClass() pour obtenir l'objet Class, puis appelle getName() pour obtenir le nom de la classe en cours d'exécution.
Donc, si une classe hérite d'une classe, comment obtenir le nom de la classe actuelle et le nom de la classe parent
Demo8.java#🎜 🎜#
package pxx.test1; public class Demo8 { int num; String name; public Demo8(){}; }
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(); } }
Il s'avère que cette méthode est finale. En d'autres termes, cette méthode peut être héritée par d'autres classes, mais elle ne peut pas être substituée. Par conséquent, this.getClass et super.getClass appellent finalement le. getClass dans la classe Object, et la définition de cette méthode est de renvoyer le temps d'exécution de la classe Object, donc ce qui précède renverra son propre nom de classe au lieu du nom de la classe parent.
Alors comment obtenir le nom de la classe parent ?
Allons dans la classe Class pour y jeter un oeil et trouver la méthode suivante :
#🎜 🎜#Ce qui précède signifie que la classe parent de la classe appelante actuelle sera renvoyée. Après avoir obtenu la classe parent, nous pouvons toujours utiliser getName() pour obtenir le nom, comme indiqué dans le codepackage pxx.test1; public class Demo9 extends Demo8 { public void test() { System.out.println(super.getClass().getSuperclass().getName()); } public static void main(String[] args) { new Demo9().test(); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!