Heim >Java >javaLernprogramm >Wie funktioniert der „instanceof'-Operator von Java für die Klassen- und Schnittstellenprüfung?

Wie funktioniert der „instanceof'-Operator von Java für die Klassen- und Schnittstellenprüfung?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 03:11:10977Durchsuche

How Does Java's `instanceof` Operator Work for Class and Interface Checking?

Wofür wird der Operator „instanceof“ in Java verwendet?

Der Java-Operator „instanceof“ prüft, ob ein Objekt zu einer bestimmten Klasse gehört oder implementiert eine bestimmte Schnittstelle. Es handelt sich um einen binären Operator, der einen booleschen Wert zurückgibt: „true“, wenn das Objekt eine Instanz des angegebenen Typs ist, andernfalls „false“.

Das Verhalten von „instanceof“ verstehen

Bedenken Sie Folgendes Folgender Codeausschnitt:

Object source = new Button();

if (source instanceof Button) {
    // ...
} else {
    // ...
}

In diesem Beispiel enthält die Quellvariable ein Objekt, das mit der Button-Klasse erstellt wurde. Der Instanzoperator wird verwendet, um zu überprüfen, ob die Quelle tatsächlich ein Button-Objekt ist. Wenn die Prüfung „true“ zurückgibt (weil die Quelle ein Button ist), wird der Code im if-Block ausgeführt. Andernfalls (wenn die Quelle kein Button ist) wird der Code im else-Block ausgeführt.

Vererbung und Instanz von

Der Instanz von-Operator berücksichtigt Vererbungsbeziehungen. Nehmen wir an, wir haben die folgende Klassenhierarchie:

interface Domestic {}
class Animal {}
class Dog extends Animal implements Domestic {}

Wenn wir ein Hundeobjekt Hund haben, können wir „instanceof“ verwenden, um zu überprüfen, ob es zu verschiedenen Typen gehört:

dog instanceof Domestic // true
dog instanceof Animal // true
dog instanceof Dog // true

Allerdings Instanz von kann nicht prüfen, ob ein Objekt eine Instanz eines Supertyps ist, der sich nicht in derselben Vererbungshierarchie befindet. Beispielsweise würde die folgende Prüfung nicht kompiliert werden:

dog instanceof Cat // does not compile

Laufzeittypprüfung

instanceof ist eine Laufzeitoperation, was bedeutet, dass sie während der Programmausführung ausgeführt wird. Dadurch können Programmierer den Typ eines Objekts bestimmen und entsprechend damit umgehen. Es wird häufig in Situationen verwendet, in denen der Typ eines Objekts zur Kompilierungszeit nicht bekannt ist.

Das obige ist der detaillierte Inhalt vonWie funktioniert der „instanceof'-Operator von Java für die Klassen- und Schnittstellenprüfung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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