InstanceOf In este un operator, care este folosit pentru a verifica tipul unui obiect. Cu alte cuvinte, testează dacă obiectul este o instanță a unei clase specifice sau o interfață. Ieșirea unei astfel de operații este fie Adevărat sau Fals
transformare XML în informatica cu exemplu
Următoarele indicații vor fi tratate în acest articol,
- instanță de
- Utilizarea unei variabile cu valoare nulă
- Un obiect părinte nu este o instanță a copilului
- Downcasting
- Înțelegerea instanței
Mai departe cu acest articol pe instanceOf în Java.
Acest operator este, de asemenea, cunoscut sub numele de tip operator de comparație , deoarece instanța este comparată cu tipul.
Sintaxă:
(obiect) instanță (tip)
Un exemplu de operator instanceOf poate fi văzut mai jos:
public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}
Ieșire
Adevărat
În exemplu, ieșirea returnată utilizatorului este Adevărat , adică „ s ”Este o instanță a clasei Main.
Exemplu
Un obiect de tip subclasă este, de asemenea, un tip de clasă părinte.
În exemplul următor, Rock extinde muzica. Obiectul Rock poate fi menționat fie de clasa Rock, fie de Muzică.
clasă Muzică {} clasă Rock extinde Muzică {// Rock moștenește muzică public static void main (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}
Ieșire
Adevărat
Mai departe cu acest articol pe instanceOf în Java.
Folosind o variabilă cu valoare nulă
clasă Muzică {public static void main (String args []) {Muzică m = nul System.out.println (m instanță a Muzicii) // false}}
În exemplul dat mai sus, variabila definită are o valoare nulă.
Astfel, ieșirea returnată este falsă.
Ieșire
fals
Următorul punct trebuie notat în timpul utilizării operatorului instanceOf:
Mai departe cu acest articol pe instanceOf în Java.
Un obiect părinte nu este o instanță a copilului
class Parent {} class Child extends Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p is an instance of Child ') else System.out.println (' p nu este o instanță a copilului ')}}
Ieșire
P nu este o instanță a copilului
Mai departe cu acest articol pe instanceOf în Java.
Downc O intepatura
Când un obiect din clasa părinte este menționat de o subclasă, metoda este cunoscută sub numele de downcasting.
La efectuarea downcasting-ului direct, compilatorul returnează o eroare de compilare.
Rock r = new Music () // eroare de compilare
La utilizarea tipecastului, ClassCastException este aruncat în timpul rulării.
Rock r = (Rock) Muzică nouă () // compilare reușită, dar ClassCastException aruncat
Singura metodă prin care downcasting-ul este posibil este prin utilizarea instanței operatorului.
clasă Muzică {} clasă Rock extinde Muzică {metodă statică de gol (Muzică m) {dacă (m instanță de Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} public static void main (String [] args) {Muzică m = new Rock () Rock.method (m)}}
Ieșire
Reducerea succesului
Mai departe cu acest articol pe instanceOf în Java.
Înțelegerea instanței:
Metoda instanceOf poate fi înțeleasă mai explicit prin exemplele date mai jos:
Acest exemplu face utilizarea unei interfețe:
interfață Instanță {} clasa S implementează Instanță {public void s () {System.out.println ('Prima metodă')}} clasa T implementează Instanță {public void t () {System.out.println ('A doua metodă') }} class Invoke {void invoke (Instance i) {// upcasting if (i instanceof S) {S s = (S) i // Downcasting ss ()} if (i instanceof T) {T t = (T) i // Downcasting tt ()}}} clasă Main {public static void main (String args []) {Instanță i = new T () Invoke v = new Invoke () v.invoke (i)}}
Rezultatul exemplului este după cum urmează:
A doua metodă
Acest exemplu demonstrează acest concept într-o manieră precisă. Aici, clasa părinte este Instrument, iar cele două clase pentru copii sunt chitara și pianul:
clasă Instrument {} clasă Chitară extinde Instrument {} clasă Piano extinde Instrument {} clasă Main {public static void main (String [] args) {Instrument i = instrument nou () chitară g = chitară nouă () pian p = pian nou ( ) System.out.println (g instanceof Instrument) System.out.println (p instanceof Instrument) System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano) i = g System.out.println ( i instanceof Guitar) System.out.println (i instanceof Piano) i = p System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano)}}
Ieșirea este după cum urmează:
Adevărat
Adevărat
fals
fals
Adevărat
fals
fals
Adevărat
Așa se găsește în mod eficient tipul unui obiect. Operatorul instanceOf se dovedește a fi destul de util, dat fiind că metodele sunt executate corespunzător.
Astfel am ajuns la sfârșitul acestui articol despre „instanceOf in Java”. Dacă doriți să aflați mai multe, consultați Java Training de la Edureka, o companie de învățare online de încredere. este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.
Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom contacta cât mai curând posibil.