Kako implementirati InstanceOf v JAVA?



Ta članek o InstanceOf v Javi vam bo predstavil Java instancOf Operator in nadaljeval s praktičnimi predstavitvami.

InstanceOf In je operator, ki se uporablja za preverjanje vrste predmeta. Z drugimi besedami, preizkuša se, ali je objekt primerek določenega razreda ali vmesnik. Rezultat take operacije je bodisi Prav ali Lažno

V tem članku bodo zajeti naslednji napotki:





Nadaljujemo s tem člankom o instanceOf v Javi.

Ta operater je znan tudi kot tip primerjalni operater , saj se primerka primerja s tipom.



Sintaksa:

(objekt) instanceof (vrsta)

Primer operaterja instanceOf si lahko ogledate spodaj:

javni razred Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}

Izhod



prav

V primeru je izhod, vrnjen uporabniku, prav , tj. “ s 'Je primer razreda Main.

Primer

Predmet podrazreda tipa je tudi vrsta nadrejenega razreda.

V naslednjem primeru Rock razširja glasbo. Na predmet Rock se lahko sklicuje bodisi v razredu Rock ali Glasba.

class Music {} class Rock širi Glasbo {// Rock podeduje Glasbo public static void main (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}

Izhod

kako obrezati v javi

prav

Nadaljujemo s tem člankom o instanceOf v Javi.

Uporaba spremenljivke z ničelno vrednostjo

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

V zgornjem primeru ima definirana spremenljivka vrednost nič.

Tako je vrnjeni izhod napačen.

Izhod

napačno

Pri uporabi operaterja instanceOf je treba upoštevati naslednjo točko:

Nadaljujemo s tem člankom o instanceOf v Javi.

Nadrejeni objekt ni primerek Child

class Parent {} class Child podaljša Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p je primer Child ') else System.out.println (' p ni primerek otroka ')}}

Izhod

P ni primer Child

Nadaljujemo s tem člankom o instanceOf v Javi.

Downc asting

Ko se podvrsta sklicuje na objekt razreda Starš, je metoda znana kot prenašanje.

Pri neposrednem spuščanju prevajalnik vrne napako prevajanja.

Rock r = nova glasba () // napaka pri kompilaciji

Pri uporabi tipovanja je ClassCastException vržen med izvajanjem.

Rock r = (Rock) new Music () // kompilacija uspešna, ClassCastException pa vržen

Edina metoda, s katero je možno znižanje, je uporaba operatorja instanceof.

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

Izhod

Prenos navzdol uspešen

Nadaljujemo s tem člankom o instanceOf v Javi.

Razumevanje instanceOf:

Metodo instanceOf lahko bolj izrecno razumemo v spodnjih primerih:

vadnica za informatiko za začetnike pdf brezplačen prenos

Ta primer uporablja vmesnik:

primerek vmesnika {} razred S implementira primerek {public void s () {System.out.println ('First method')}} razred T implementira primerek {public void t () {System.out.println ('Second method') }} 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 // nižanje tt ()}}} razreda Main {public static void main (String args []) {Primer i = new T () Invoke v = new Invoke () v.invoke (i)}}

Rezultat primera je naslednji:
Druga metoda

Ta primer natančno prikazuje ta koncept. Tu je roditeljski razred Instrument, dva otroška razreda pa sta Kitara in klavir:

class Instrument {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = nov instrument () Kitara g = nova kitara () Klavir p = nov klavir ( ) System.out.println (g primer instrumenta) System.out.println (p primerek instrumenta) System.out.println (i instanceof kitara) 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)}}

Rezultat je naslednji:

prav

prav

napačno

napačno

prav

napačno

napačno

prav

Tako se učinkovito najde vrsta predmeta. Operator instanceOf se izkaže za zelo koristnega, saj se metode izvajajo ustrezno.

Tako smo prišli do konca tega članka o 'instanceOf v Javi'. Če želite izvedeti več, si oglejte Java Training by Edureka, zaupanja vredno podjetje za spletno učenje. je zasnovan tako, da vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi ogrodji Java, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.