JavaRush /Blog Java /Random-PL /instancja operatora
articles
Poziom 15

instancja operatora

Opublikowano w grupie Random-PL
Za pomocą operatora instanceofmożna dowiedzieć się, z której klasy pochodzi obiekt. Operator ten ma dwa argumenty. Po lewej stronie znajduje się odniesienie do obiektu, a po prawej nazwa typu, z którym sprawdzana jest zgodność obiektu. Na przykład: instancja operatora - 1
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
Wynik będzie prawdziwy . Operator instanceofnie opiera się zatem na typie odniesienia, ale na właściwościach obiektu, do którego się odnosi. Ale ten operator zwraca wartość prawdziwą nie tylko dla typu, z którego wyprowadzono obiekt. Dodajmy jeszcze jedną do już zadeklarowanych klas:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
Stwórzmy teraz zmienną nowego typu:
Parent p = new ChildOfChild();
print(p instanceof Child);
Pierwsza linia deklaruje zmienną typu Parent, która jest inicjalizowana referencją do obiektu pochodzącego z ChildOfChild. W drugiej linii instrukcja instanceofanalizuje zgodność odniesienia do typu Parentz klasą Child, a obiekt, którego dotyczy, nie pochodzi ani z pierwszej, ani z drugiej klasy. Operator zwróci jednak wartość true , ponieważ klasa, z której pochodzi ten obiekt, dziedziczy z Child. Link do oryginalnego źródła: Instancja operatora
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION