Kako implementirati InstanceOf u JAVA-u?



Ovaj članak o InstanceOf u Javi predstavit će vam Java instancOf Operator i slijediti ga s praktičnim demonstracijama.

InstanceOf u je operator koji se koristi za provjeru vrste objekta. Drugim riječima, ispituje je li objekt primjerak određene klase ili sučelje. Izlaz takve operacije je bilo Pravi ili Lažno

U ovom će članku biti obrađeni sljedeći smjerovi,





Nastavljamo s ovim člankom o instanceOf u Javi.

Ovaj je operator poznat i kao tip operator usporedbe , jer se instanca uspoređuje s vrstom.



Sintaksa:

(objekt) instanceof (vrsta)

Primjer operatora instanceOf možete vidjeti u nastavku:

javna klasa Main {javna statička void glavna (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}

Izlaz



pravi

U primjeru je izlaz vraćen korisniku pravi , tj. “ s ”Je instanca klase Main.

Primjer

Objekt podklase tipa također je vrsta roditeljske klase.

U sljedećem primjeru Rock proširuje glazbu. Predmet Rock može se uputiti bilo na klasu Rock ili Music.

class Music {} class Rock produžuje Music {// Rock nasljeđuje glazbu public static void main (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}

Izlaz

pravi

Nastavljamo s ovim člankom o instanceOf u Javi.

java razlika između bacanja i bacanja

Korištenje varijable s null vrijednošću

class Music {public static void main (String args []) {Music m = null System.out.println (m instanceof Music) // false}}

U gore navedenom primjeru definirana varijabla ima null vrijednost.

Dakle, vraćeni izlaz je netačan.

Izlaz

lažno

Sljedeća se točka mora primijetiti tijekom korištenja instanceOf operatora:

Nastavljamo s ovim člankom o instanceOf u Javi.

Nadređeni objekt nije primjer djeteta

class Parent {} class Child produžuje Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p je primjer Child-a ') else System.out.println (' p nije instanca Child ')}}

Izlaz

P nije primjer djeteta

Nastavljamo s ovim člankom o instanceOf u Javi.

Downc asting

Kada se podrazred odnosi na objekt roditeljske klase, metoda je poznata kao spuštanje.

Nakon izravnog izvođenja downcastinga, kompajler vraća pogrešku kompilacije.

Rock r = nova glazba () // pogreška kompilacije

Pri korištenju tipiziranja, ClassCastException se baca u vrijeme izvođenja.

Rock r = (Rock) nova glazba () // kompilacija uspješna, ali ClassCastException bačen

Jedina metoda kojom je moguće spuštanje podataka je pomoću instanceof operatora.

class Music {} class Rock produžuje Music {static void method (Music m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} javna statička praznina main (String [] args) {Music m = new Rock () Rock.method (m)}}

Izlaz

Downcasting uspješno

Nastavljamo s ovim člankom o instanceOf u Javi.

Razumijevanje instanceOf:

Metoda instanceOf može se eksplicitnije razumjeti na primjerima datim u nastavku:

Ovaj primjer koristi upotrebu sučelja:

instanca sučelja {} klasa S implementira instancu {javna praznina s () {System.out.println ('Prva metoda')}} klasa T implementira instancu {javna praznina t () {System.out.println ('Druga metoda') }} 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 ()}}} klasa Main {javna statička void glavna (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}

Rezultat primjera je sljedeći:
Druga metoda

Ovaj primjer precizno demonstrira ovaj koncept. Ovdje je roditeljski razred Instrument, a dva dječja razreda su gitara i klavir:

class Instrument {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = novi instrument () Gitara g = nova gitara () Klavir p = novi klavir ( ) 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 primjer gitare) System.out.println (i primjer klavira) i = p System.out.println (i primjer gitare) System.out.println (i primjer klavira)}}

Izlaz je sljedeći:

pravi

pravi

lažno

lažno

pravi

lažno

lažno

pravi

Tako se učinkovito pronalazi vrsta predmeta. Operator instanceOf pokazao se vrlo korisnim, s obzirom na to da se metode izvršavaju na odgovarajući način.

Tako smo došli do kraja ovog članka o 'instanceOf u Javi'. Ako želite saznati više, pogledajte Java Training tvrtke Edureka, pouzdane tvrtke za internetsko učenje. je osmišljen kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.