Paano Maipatupad ang InstanceOf Sa JAVA?



Ang artikulong ito sa InstanceOf sa Java ay magpapakilala sa iyo sa Java instancOf Operator at susundan ito ng praktikal na pagpapakita.

InstanceOf In ay isang operator, na ginagamit upang suriin ang uri ng isang bagay. Sa ibang mga termino, sinusubukan nito kung ang bagay ay isang halimbawa ng isang tukoy na klase o isang interface. Ang output ng naturang operasyon ay alinman Totoo o Mali

Saklaw ang artikulong ito sa artikulong ito,





naiiba sa pagitan ng abstract class at interface

Nagpapatuloy sa artikulong ito sa halimbawaOf sa Java.

Ang operator na ito ay kilala rin bilang uri kumpara sa operator , tulad ng halimbawa ay inihambing sa uri.



Syntax:

(object) halimbawa ng (uri)

Ang isang halimbawa ng halimbawaOf operator ay makikita sa ibaba:

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

Paglabas



totoo

Sa halimbawa, ang output na ibinalik sa gumagamit ay totoo , ibig sabihin ' s ”Ay isang halimbawa ng klase ng Pangunahing.

Halimbawa

Ang isang object ng uri ng subclass ay isang uri din ng magulang na klase.

Sa sumusunod na halimbawa, ang Rock ay nagpapalawak ng Musika. Ang object ng Rock ay maaaring tinukoy alinman sa klase ng Rock o Musika.

klase ng Musika {} ang klase ng Rock ay nagpapalawak ng Musika {// Rock ay nagmamana ng publiko sa publiko na static na walang bisa (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}

Paglabas

totoo

Nagpapatuloy sa artikulong ito sa halimbawaOf sa Java.

Gumagamit ng variable na walang null na halaga

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

Sa halimbawang ibinigay sa itaas, ang variable na tinukoy ay may isang null na halaga.

Kaya, ang output na bumalik ay hindi totoo.

Paglabas

hindi totoo

Ang sumusunod na punto ay dapat tandaan habang ginagamit ang halimbawa ng operator:

Nagpapatuloy sa artikulong ito sa halimbawaOf sa Java.

Ang isang magulang na bagay ay hindi isang halimbawa ng Bata

klase ng Magulang {} klase ng Bata ay nagpapalawak sa Magulang {} klase Pangunahing {pampublikong static na walang bisa (String [] args) {Magulang p = bagong Magulang () kung (p halimbawa ng Bata) System.out.println ('p ay isang halimbawa ng Bata ') iba pa System.out.println (' p ay hindi isang pagkakataon ng Bata ')}}

Paglabas

Ang P ay hindi isang halimbawa ng Bata

Nagpapatuloy sa artikulong ito sa halimbawaOf sa Java.

Downc asting

Kapag ang isang bagay ng klase ng Magulang ay tinukoy ng isang Subclass, ang pamamaraan ay kilala bilang downcasting.

Sa direktang pagsasagawa ng downcasting, nagbabalik ang compiler ng isang error sa pagtitipon.

Rock r = bagong Musika () // error sa pagtitipon

Sa paggamit ng typecasting, ang ClassCastException ay itinapon sa runtime.

Rock r = (Rock) bagong Musika () // compilation matagumpay ngunit itinapon ang ClassCastException

Ang tanging paraan kung saan posible ang pag-downcasting ay sa pamamagitan ng paggamit ng instanceof operator.

klase Music {} class Rock nagpapalawak ng Music {static void method (Music m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Matagumpay')}} pampublikong static na walang bisa pangunahing (String [] args) {Musika m = bagong Rock () Rock.method (m)}}

Paglabas

Matagumpay na Downcasting

Nagpapatuloy sa artikulong ito sa halimbawaOf sa Java.

Pag-unawa sa instanceOf:

Ang halimbawaAng pamamaraan ay maaaring maunawaan nang mas malinaw sa pamamagitan ng mga halimbawang ibinigay sa ibaba:

Ginagawa ng halimbawang ito ang paggamit ng isang interface:

interface Instance {} inilalapat ng klase S ang Instance {public void s () {System.out.println ('Unang pamamaraan')}} ipinapapatupad ng klase T ang Instance {public void t () {System.out.println ('Pangalawang pamamaraan') }} 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 ()}}} class Pangunahing {public static void main (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}

Ang output ng halimbawa ay ang mga sumusunod:
Pangalawang Paraan

Ipinapakita ng halimbawang ito ang konseptong ito sa isang tumpak na pamamaraan. Dito, ang magulang na klase ay Instrumento, at ang dalawang klase ng bata ay Guitar at Piano:

class Instrumento {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = new Instrument () Guitar g = new Guitar () Piano p = new Piano ( ) 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)}}

Ang output ay ang mga sumusunod:

totoo

totoo

hindi totoo

hindi totoo

totoo

hindi totoo

hindi totoo

totoo

pagkakaiba sa pagitan ng nagpapatupad at nagpapalawak ng java

Ito ay kung paano ang uri ng isang bagay ay matagpuan nang mahusay. Ang instanceOf operator ay nagpapatunay na lubos na kapaki-pakinabang, naibigay na ang mga pamamaraan ay naisagawa nang naaangkop.

Sa gayon ay natapos na kami sa artikulong ito sa 'instanceOf in Java'. Kung nais mong matuto nang higit pa, suriin ang Java Training ni Edureka, isang pinagkakatiwalaang kumpanya sa online na pag-aaral. ay idinisenyo upang sanayin ka para sa parehong core at advanced na konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na ito at babalikan ka namin sa lalong madaling panahon.