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:
- instanceOf
- Uporaba spremenljivke z ničelno vrednostjo
- Starševski objekt ni primerek otroka
- Downcasting
- Razumevanje instanceOf
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.