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