Maison  >  Article  >  Java  >  Comment obtenir le nom de la classe en Java

Comment obtenir le nom de la classe en Java

WBOY
WBOYavant
2023-05-03 16:55:072338parcourir

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 :

Comment obtenir le nom de la classe en Java

#🎜🎜 # 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 :

. Comment obtenir le nom de la classe en Java#🎜 🎜#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(){};
}
Demo9.java

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();
    }
}
Ci-dessus, nous avons utilisé super pour appeler une méthode getClass(), puis obtenir le nom de la classe. Vous devez faire attention ici. De plus, super ne peut appeler que des méthodes non statiques de la classe parent et ne peut pas être appelé dans des méthodes statiques, car super, comme celui-ci, est basé sur des opérations sur les objets. En parlant de ça, getClass() de la classe parent est appelée ici, donc je veux obtenir le nom de la classe parent. Eh bien, je l'ai exécuté

#. 🎜🎜# mais je n'arrive toujours pas à l'obtenir. Le nom de la classe parent, alors jetons un coup d'œil à la méthode geClass(). Cette méthode est dans l'objet Object. 🎜#

Comment obtenir le nom de la classe en Java 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 ?

Comment obtenir le nom de la classe en Java 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 code

package 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();
 
    }
}
. Résultat d'exécution :

Comment obtenir le nom de la classe en Java

De cette façon, nous obtenons le nom de la classe parent

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer