Cum se implementează InstanceOf în JAVA?



Acest articol despre InstanceOf în Java vă va introduce în Java instancOf Operator și îl veți urmări cu o demonstrație practică.

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,





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.