JavaRush /Java-Blog /Random-DE /Instanz des Operators
articles
Level 15

Instanz des Operators

Veröffentlicht in der Gruppe Random-DE
Mit dem Operator instanceofkönnen Sie herausfinden, aus welcher Klasse ein Objekt stammt. Dieser Operator hat zwei Argumente. Links steht ein Verweis auf das Objekt und rechts der Name des Typs, mit dem das Objekt auf Kompatibilität geprüft wird. Zum Beispiel: Instanz des Operators - 1
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
Das Ergebnis wird wahr sein . Somit instanceofverlässt sich der Operator nicht auf den Typ der Referenz, sondern auf die Eigenschaften des Objekts, auf das er verweist. Dieser Operator gibt jedoch nicht nur einen wahren Wert für den Typ zurück, von dem das Objekt abgeleitet wurde. Fügen wir den bereits deklarierten Klassen noch eine weitere hinzu:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
Jetzt erstellen wir eine Variable eines neuen Typs:
Parent p = new ChildOfChild();
print(p instanceof Child);
Die erste Zeile deklariert eine Variable vom Typ Parent, die mit einem Verweis auf ein von abgeleitetes Objekt initialisiert wird ChildOfChild. In der zweiten Zeile analysiert die Anweisung instanceofdie Kompatibilität der Typreferenz Parentmit der Klasse Childund das beteiligte Objekt ist weder von der ersten noch von der zweiten Klasse abgeleitet. Der Operator gibt jedoch „true“ zurück , da die Klasse, von der dieses Objekt abgeleitet ist, von erbt Child. Link zur Originalquelle: Operator-Instanz von
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION