Operátor instanceof v Jave sa používa na indikáciu počas behu, či je objekt inštanciou konkrétnej triedy. Instanceof označuje, či je objekt inštanciou tejto konkrétnej triedy alebo jej podtriedy, vrátením booleovskej hodnoty.
instanceof v Jave je v .net!
Použitie: výsledok = inštancia objektu triedy Parameter: Výsledok: Booleovský typ. Objekt: Povinný. Ľubovoľné objektové výrazy. Trieda: Povinná. Ľubovoľná definovaná trieda objektov. Ilustrovať: Ak je objekt inštanciou triedy, operátor instanceof vráti true. Ak objekt nie je inštanciou špecifikovanej triedy, alebo ak je objekt null, vráti sa false (nepravda).
Avšak existuje rozdiel medzi stavom kompilácie a bežiacim stavom instanceof v Jave:
V kompilovanom stave môže byť trieda nadradenou triedou, vlastnou triedou alebo podtriedou objektového objektu. V týchto troch prípadoch Java pri kompilácii nehlási chybu.
V bežiacom prechode môže byť trieda rodičovskou triedou objektového objektu, vlastnou triedou, nie podtriedou. V prvých dvoch prípadoch je výsledok pravdivý, posledný je nepravdivý. Avšak, ak je trieda podtriedou, kompilácia nehlási chybu. Výsledok behu je nepravdivý.
Príklad:
Rozhranie Osoba
verejné rozhranie Person { public void eat();
}
Implementujte triedu People
public class People implementuje Person { súkromný int a=0; @Override public void eat() { System.out.println("======"+a);
}
}
Podkategória xiaoming:
verejná trieda xiaoming rozširuje People { súkromné String meno;
@Override public void eat() { System.out.println("+++++++++");
}
}
Hlavná funkcia
Poznámka: Kód na vyššie uvedených dvoch miestach pri kompilácii nehlási chybu.
Výsledok behu:
true
false
true
true
|