Usando l'operatore instanceof, puoi scoprire da quale classe proviene un oggetto. Questo operatore ha due argomenti. A sinistra c'è un riferimento all'oggetto e a destra c'è il nome del tipo con cui viene verificata la compatibilità dell'oggetto. Per esempio: operatore istanza dell'operatore - 1
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
Il risultato sarà vero . Pertanto l'operatore instanceofnon si basa sul tipo del riferimento, ma sulle proprietà dell'oggetto a cui si riferisce. Ma questo operatore restituisce un valore vero non solo per il tipo da cui è stato derivato l'oggetto. Aggiungiamone un'altra alle classi già dichiarate:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
Ora creiamo una variabile di un nuovo tipo:
Parent p = new ChildOfChild();
print(p instanceof Child);
La prima riga dichiara una variabile di tipo Parent, che viene inizializzata con un riferimento a un oggetto derivato da ChildOfChild. Nella seconda riga, l'istruzione instanceofanalizza la compatibilità del riferimento al tipo Parentcon la classe Childe l'oggetto coinvolto non deriva né dalla prima né dalla seconda classe. Tuttavia, l'operatore restituirà true perché la classe da cui deriva questo oggetto eredita da Child. Collegamento alla fonte originale: Operatore istanzadi