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

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

PHPz
PHPzoriginal
2023-07-24 11:37:52904parcourir

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());
    }
}

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());
}

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!

Déclaration:
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