Heim > Java > javaLernprogramm > Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen

Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen

PHPz
Freigeben: 2023-07-24 11:37:52
Original
1017 Leute haben es durchsucht

Java verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen.

In Java hat jedes Objekt eine Klasse, und diese Klasse definiert die Eigenschaften und Methoden des Objekts. Wir können die Funktion getClass() verwenden, um die Laufzeitklasse eines Objekts abzurufen. Die Funktion getClass() ist eine Mitgliedsfunktion der Object-Klasse, sodass alle Java-Objekte diese Funktion aufrufen können. In diesem Artikel wird die Verwendung der getClass()-Funktion vorgestellt und einige Codebeispiele gegeben.

Es ist sehr einfach, die Laufzeitklasse mit der Funktion getClass() abzurufen. Wir müssen nur die Funktion getClass() des Objekts aufrufen, die ein Klassenobjekt zurückgibt, das die Laufzeitklasse des Objekts darstellt. Das Folgende ist ein Beispiel:

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());
    }
}
Nach dem Login kopieren

Im obigen Beispiel erstellen wir ein Objekt person der Klasse Person, rufen die Funktion getClass() des Objekts person auf und weisen den Rückgabewert der Variablen clazz des Typs Class zu. Dann erhalten wir den Namen der Laufzeitklasse des Personenobjekts, indem wir die Funktion getName() von clazz aufrufen.

Es ist zu beachten, dass die Funktion getClass() ein Class-Objekt zurückgibt, das Informationen über die Klasse enthält, zu der das Objekt gehört. Über dieses Objekt können wir viele nützliche Funktionen aufrufen, um den Klassennamen, Modifikatoren, die übergeordnete Klasse, die Schnittstelle, den Konstruktor, Felder und andere Informationen abzurufen.

Im Folgenden finden Sie Beispiele für einige häufig verwendete Klassenobjektfunktionen:

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());
}
Nach dem Login kopieren

Kurz gesagt, die Funktion getClass () von Java ist eine sehr nützliche Funktion, mit der wir die Laufzeitklasse eines Objekts zur Laufzeit abrufen und über die Klasse abrufen können Objekt Verschiedene Informationen zu dieser Klasse. Es ist sehr hilfreich beim Schreiben von allgemeinem Code, beim Durchführen von Reflexionsvorgängen und beim Debuggen von Code. Ich hoffe, dass die Einführung und die Beispiele in diesem Artikel den Lesern helfen können, die Funktion getClass() besser zu verstehen und zu verwenden.

Das obige ist der detaillierte Inhalt vonJava verwendet die Funktion getClass() der Object-Klasse, um die Laufzeitklasse des Objekts abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage