Maison > Java > javaDidacticiel > le corps du texte

Java utilise la fonction getClass() de la classe Object pour obtenir la classe d'exécution de l'objet

PHPz
Libérer: 2023-07-24 11:37:52
original
969 Les gens l'ont consulté

Java utilise la fonction getClass() de la classe Object pour obtenir la classe d'exécution de l'objet

En Java, chaque objet a une classe, et cette classe définit les propriétés et les méthodes de l'objet. Nous pouvons utiliser la fonction getClass() pour obtenir la classe d'exécution d'un objet. La fonction getClass() est une fonction membre de la classe Object, tous les objets Java peuvent donc appeler cette fonction. Cet article explique comment utiliser la fonction getClass() et donne quelques exemples de code.

Il est très simple d'obtenir la classe d'exécution en utilisant la fonction getClass(). Il suffit d'appeler la fonction getClass() de l'objet, qui renverra un objet Class qui représente la classe d'exécution de l'objet. Voici un exemple :

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());
    }
}
Copier après la connexion

Dans l'exemple ci-dessus, nous créons un objet person de la classe Person, appelons la fonction getClass() de l'objet personne et attribuons la valeur de retour à la variable clazz du type Class. Ensuite, nous obtenons le nom de la classe d'exécution de l'objet personne en appelant la fonction getName() de clazz.

Il convient de noter que la fonction getClass() renvoie un objet Class, qui contient des informations sur la classe à laquelle appartient l'objet. Nous pouvons appeler de nombreuses fonctions utiles via cet objet pour obtenir le nom de la classe, les modificateurs, la classe parent, l'interface, le constructeur, les champs et d'autres informations.

Voici quelques exemples de fonctions d'objet Class couramment utilisées :

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());
}
Copier après la connexion

En bref, la fonction getClass() de Java est une fonction très utile, qui nous permet d'obtenir la classe d'exécution d'un objet au moment de l'exécution et de l'obtenir via la classe object Diverses informations sur cette classe. Il est très utile pour écrire du code général, effectuer des opérations de réflexion et déboguer du code. J'espère que l'introduction et les exemples de cet article pourront aider les lecteurs à mieux comprendre et utiliser la fonction getClass().

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal