Operatorul instanceof în Java este folosit pentru a indica la rulare dacă un obiect este o instanță a unei anumite clase. Instanceof indică dacă obiectul este o instanță a acestei clase particulare sau a subclasei sale prin returnarea unui boolean.
instanceof în Java este în .net!
Obicei: Rezultat = Instanță de obiect a clasei Parametru: Rezultat: tip boolean. Obiect: Obligatoriu. Expresii arbitrare. Clasă: Obligatoriu. Orice clasă de obiect definită. Ilustra: Dacă obiectul este o instanță a clasei, operatorul instanceof returnează adevărat. Dacă obiectul nu este o instanță a clasei specificate sau dacă obiectul este nul, falsul este returnat.
Totuși, există o diferență între starea de compilare și starea de rulare a instanței în Java:
În starea compilată, clasa poate fi clasa părinte, propria sa clasă sau clasa copil a obiectului-obiect. În aceste trei cazuri, Java nu raportează o eroare la compilare.
În tranziția de rulare, clasa poate fi clasa părinte a obiectului obiect, o clasă separată, nu o clasă copil. În primele două cazuri, rezultatul este adevărat, iar ultimul este fals. Totuși, când clasa este o subclasă, compilarea nu va raporta o eroare. Rezultatul run-ului este fals.
Exemplu:
interfață Persoană
interfață publică Person { public void eat();
}
Implementează clasa People
clasa publică Oameni implementează Persoană { Private int A=0; @Override public void eat() { System.out.println("======"+a);
}
}
Subcategorie xiaoming:
clasa publică xiaoming extinde Oamenii { nume privat String;
@Override public void eat() { System.out.println("+++++++++");
}
}
Funcția principală
Notă: Codul din cele două locuri de mai sus nu va raporta o eroare la compilare.
Rezultatul run-ului:
true
false
true
true
|