Operátor instanceof v Javě se používá k označení za běhu, zda je objekt instancí určité třídy. Instanceof označuje, zda je objekt instancí této konkrétní třídy nebo její podtřídy, vrácením Booleovské hodnoty.
instanceof v Javě je v .net!
Zvyk: result = instance objektu třídy Parametr: Výsledek: Booleovský typ. Objekt: Povinný. Libovolné objektové výrazy. Třída: Povinná. Jakákoli definovaná třída objektů. Ilustrovat: Pokud je objekt instancí třídy, operátor instanceof vrací true. Pokud objekt není instancí dané třídy, nebo pokud je objekt null, vrací se false (nepravda).
Existuje však rozdíl mezi stavem kompilace a běžícím stavem instanceof v Javě:
Ve stavu kompilace může být třída nadřazenou třídou, vlastní třídou nebo podtřídou objektového objektu. V těchto třech případech Java při kompilaci nehlásí chybu.
V běžícím přechodu může být třída nadřazovací třídou objektového objektu, vlastní třídou, nikoli podtřídou. V prvních dvou případech je výsledek pravdivý, a poslední je nepravdivý. Pokud je však třída podtřídou, kompilace nehlásí chybu. Výsledek běhu je nepravdivý.
Příklad:
Uživatel rozhraní
veřejné rozhraní Person { veřejný void eat();
}
Implementujte třídu People
public class People implementuje Person { vojín int a=0; @Override public void eat() { System.out.println("======"+a);
}
}
Podkategorie xiaoming:
veřejná třída xiaoming rozšiřuje People { soukromé jméno smyčce;
@Override public void eat() { System.out.println("+++++++++");
}
}
Hlavní funkce
Poznámka: Kód na výše uvedených dvou místech při kompilaci nehlásí chybu.
Výsledek běhu:
true
false
true
true
|