Kā īstenot instanceOf JAVA?



Šis raksts par Java InstancOf jūs iepazīstinās ar Java instancOf Operator un sekos tam ar praktisku demonstrāciju.

InOxference ir operators, kuru izmanto, lai pārbaudītu objekta tipu. Citiem vārdiem sakot, tas pārbauda, ​​vai objekts ir noteiktas klases vai saskarnes gadījums. Šādas operācijas rezultāts ir vai nu Patiesi vai Nepatiesa

Šajā rakstā tiks apskatīti šādi norādījumi,





kas ir datu vizualizācija tabulā

Turpinot šo rakstu par Java, piemēram, Java.

Šis operators ir pazīstams arī kā tips salīdzināšanas operators , jo gadījumu salīdzina ar tipu.



Sintakse:

(objekts) (veida) instance

Operatora instanceOf piemērs ir redzams zemāk:

public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (s Mainof galvenās instances)}}

Rezultāts



taisnība

Piemērā lietotājam atgrieztā izeja ir taisnība , t.i. “ s ”Ir Main klases eksemplārs.

Piemērs

Apakšklases objekts ir arī vecāku klases tips.

Šajā piemērā Roks paplašina mūziku. Roka objektu var norādīt vai nu Roka, vai Mūzikas klase.

klase Mūzika {} klase Roks paplašina mūziku {// Roks pārmanto Mūziku publiskā statiskā tukšums main (String args []) {Roks r = new Rock () System.out.println (R roka no Rock)}}

Rezultāts

taisnība

Turpinot šo rakstu par Java, piemēram, Java.

Izmantojot mainīgo ar nulles vērtību

klases mūzika {public static void main (String args []) {Mūzika m = null System.out.println (m mūzikas eksemplārs) // nepatiesa}}

Iepriekš sniegtajā piemērā definētajam mainīgajam ir nulles vērtība.

Tādējādi atgrieztā produkcija ir nepatiesa.

Rezultāts

nepatiesa

Lietojot operatoru instanceOf, jāņem vērā šāds punkts:

Turpinot šo rakstu par Java, piemēram, Java.

Vecāku objekts nav bērna eksemplārs

klase Vecāks {} klase Bērns pagarina Vecāku {} klase Galvenais {publiskais statiskais tukšums galvenais (virkne [] argumenti) {Vecāks p = jauns vecāks () if (p Bērna gadījums) System.out.println ('p ir Bērna gadījums ') else System.out.println (' p nav bērna eksemplārs ')}}

Rezultāts

P nav Bērna gadījums

Turpinot šo rakstu par Java, piemēram, Java.

Downc pārsteidzošs

Kad uz vecāku klases objektu atsaucas apakšklase, metodi sauc par downcasting.

Tieši veicot downcasting, kompilators atgriež kompilēšanas kļūdu.

Rock r = new Music () // sastādīšanas kļūda

Izmantojot rakstīšanas veidu, ClassCastException tiek izmests izpildlaikā.

Roks r = (Roks) jaunā mūzika () // kompilācija ir veiksmīga, bet ClassCastException ir iemesta

Vienīgā metode, kā ir iespējama pazemināšana, ir operatora instanceof izmantošana.

klase Mūzika {} klase Roka paplašina Mūziku {static void metode (Mūzika m) {if (Roka m gadījums) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} public static void main (Stīgu [] argumenti) {Mūzika m = new Rock () Rock.metode (m)}}

Rezultāts

Downcasting veiksmīgs

Turpinot šo rakstu par Java, piemēram, Java.

Izpratne instanceOf:

Metodi instanceOf var precīzāk saprast ar tālāk sniegtajiem piemēriem:

Šajā piemērā tiek izmantota saskarne:

saskarnes instance {} klase S ievieš instanci {public void s () {System.out.println ('Pirmā metode')}} T klase ievieš instanci {public void t () {System.out.println ('Otrā metode') }} klase Izsaukt {void invoke (instance i) {// upcasting if (i instance of S) {S s = (S) i // Downcasting ss ()} if (i instancē T) {T t = (T) i // Downcasting tt ()}}} klase Main {public static void main (String args []) {instance i = new T () Invoke v = new Invoke () v.invoke (i)}}

Piemēra rezultāts ir šāds:
Otrā metode

Šis piemērs precīzi parāda šo jēdzienu. Šeit vecāku klase ir Instruments, un divas bērnu klases ir ģitāra un klavieres:

klase Instruments {} klase Ģitāra pagarina Instrumentu {} klase Klavieres izpleš Instrumentu {} klase Galvenā {public static void main (String [] args) {Instruments i = new Instrument () Guitar g = new Guitar () Klavieres p = new Piano ( ) System.out.println (instrumenta g instance) System.out.println (instrumenta p instance) System.out.println (i ģitāras instancē) System.out.println (i klavieru instancē) i = g System.out.println ( i ģitāras instancē) System.out.println (i klavieru instancē) i = p System.out.println (i ģitāras instancē) System.out.println (i klavierēs)}}

Rezultāts ir šāds:

taisnība

taisnība

nepatiesa

nepatiesa

taisnība

nepatiesa

nepatiesa

taisnība

kāda ir galvenā kļūda

Šādi efektīvi tiek atrasts objekta tips. Operators instanceOf izrādās diezgan noderīgs, ņemot vērā to, ka metodes tiek izpildītas atbilstoši.

Tādējādi esam nonākuši pie šī raksta par “instanceOf in Java” beigām. Ja vēlaties uzzināt vairāk, skatiet uzticamo tiešsaistes mācību uzņēmumu Edureka Java apmācību. ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem, kā arī dažādiem Java ietvariem, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.