InstanceOf v Javi - Delo in pravila instanceOf v Javi s Primerjem

Kazalo:

Anonim

Uvod v instanceOf na Javi

instanceOf je jezikovni razred programskega programa Java, ki ob klicu vrne logično vrednost in se uporablja za preučevanje razmerja med objektom in razredom / vmesnikom. Zaradi sposobnosti primerjave teh dveh znana je tudi kot "operater primerjave vrst". Preprosto, instanceOf se uporablja za preverjanje, ali je predmet kakršne koli vrste ali ne, in vrne logično vrednost, ki je resnična ali napačna. InstanceOf je eden izmed uporabnih operaterjev v javi, ki pomaga pri pridobivanju koristnih informacij o predmetu v času izvajanja.

Sintaksa:

Razred instanceOf se uporablja za preverjanje, ali je predmet katerega koli razreda ali ne.

obj instanceOf object

Zgoraj je standardna sintaksa razreda classOf. Tu je obj ime predmeta, ki mora biti ustvarjen prej (referenca). instanceOf je ključna beseda in objekt je razred ali vmesnik, s katerim se ujemamo z objektom obj.

V različnih primerih se lahko izkaže, da je instanceOf zelo koristen, na primer tam, kjer imamo zbirko predmetov, in niste prepričani, na kateri predmet se nanaša. Primer takega primera je lahko preprosta oblika z mnogimi kontrolami.

Tudi, če v primeru, da uporabimo instanceOf s spremenljivko, ki ima vrednost NULL, zagotovo vrne false.

Kako instanceOf deluje?

Operator instanceOf v javi deluje na preprost odnos-je-a. Preprosto navajamo, da je razmerje objektno orientiran koncept, kjer primerjamo ali rečemo delo na relaciji med abstrakcijami, kjer je razred A podrazred razreda B. To je razmerje, ki v celoti temelji na dedovanju. Z drugimi besedami, to je kot reči: "X je tipa Y".

Zdaj pa razumemo delovanje instanceOf skupaj z ustrezno kodo.

Najprej bomo ustvarili razred z imenom Parent.

Koda:

Class Parent(
)
Then let's add a simple main class.
public static void main(String args()) (
)

Nato bomo ustvarili primerek razreda Parent.

Parent child = new Parent();

Končno bomo z operatorjem instanceOf preverili odnos med otrokom in staršem. Kar gre takole: otroški primerek staršev

Kot je bilo že omenjeno, sintaksa za primerOf izhaja iz predmeta, ki ga je treba preveriti, nato ključne besede instanceOf in nato razreda / vmesnika, s katerim je treba preizkusiti dani objekt.

V kateri koli točki, kjer se v deklaraciji razreda srečamo s ključno besedo "podaljša" ali "izvaja", je očiten znak, da se uporablja odnos.

Primeri instanceOf v Javi

Naslednji primer prikazuje uporabo vrstice instanceOf v eni vrstici.

Class instanceof_java(
public static void main(String args()) (
instanceof_java s = new instanceof_java();
System.out.println(s instanceOf instanceof_java);
)
)

Tolmačenje kode: Začelo se je z ustvarjanjem preprostega instanceof_java razreda. V razredu instanceof_java imamo svoj glavni razred in znotraj našega glavnega razreda smo ustvarili objekt s. Ta predmet je vrste instanceof_java. Nato smo za izvedbo delovanja instanceOf podali izhodni stavek z objektom s. V zadnji vrstici smo podali s, skupaj s ključno besedo instanceof in nadrejenim razredom. Po izvedbi bo koda vrnila 'true', saj je objekt s vrste instanceof.

Če imamo predmet znanega razreda ali vmesnika, vendar istemu objektu nismo dodelili nobene vrednosti, bo ta vrnil napačno, čeprav je istega razreda.

Class instanceof_sample(
public static void main(String args()) (
instanceof_sample new = null;
System.out.println(new instanceOf instanceof_sample);
)
)

Tu imamo podobno kodo kot prejšnji primer, vendar z objektom z ničelno vrednostjo. Ko se izvrši, bo ta koda vrnila napačno. Kot lahko vidimo, je objekt new nov primer instanceof_sample, vendar je nov dodeljen z ničelno vrednostjo, ki se vrne v napačno vrednost.

Pravila na primer operaterja

Glede na to, ali objekt ref ni nična in primerek napotene vrste. Kadar je X preprost razred omenjenega predmeta in je Y razrešen razred ali matrika vrste vmesnika.

  • Kadar je X preprost razred, potem:
  • Če je Y vrsta razreda, mora biti X podrazred Y ali X mora biti isti razred kot Y.
  • Če je Y vrsta vmesnika, potem mora razred X implementirati vmesnik T.
  • Kadar je X vmesnik tipa, potem:
  • Če je Y vrsta razreda, mora biti Y objekt.
  • Y je lahko enak vmesniku kot X ali super vmesnik X, če je Y vrsta vmesnika.
  • Če je X razred, ki predstavlja matriko tipa SC (), ki je matrika komponent tipa SC, potem:
  • Če je Y vrsta razreda, mora biti Y predmet.
  • Če je Y vrsta vmesnika, mora biti Y takega vmesnika, da ga izvajajo matriki.

Končno bomo prikazali program instanceOf, da bomo razumeli, da nadrejeni objekt ne more biti primerek nadrejenega razreda.

Program

class Subject ( )
class Topic extends Subject ( )
class instanceof_java
(
public static void main(String() args)
(
Subject history = new Subject ();
if (history instanceof Topic)
System.out.println("history is instance of Topic");
else
System.out.println("history is NOT instance of Topic");
)
)

Razlaga kode: Za razumevanje operaterja instanceOf v različnih scenarijih smo napisali zgornjo kodo. Ustvarili smo preprost razred Predmet in nato še en razred Tema, ki razširi razred Predmet, s čimer sta razred Tema kot otrok in razred Predmet kot starš. Nato še en razred z glavno metodo. Znotraj glavne metode smo ustvarili nov primerek nadrejenega razreda Subject. V zanki IF ELSE smo preverili stanje objekta primerka z nadrejenim razredom Subject. Če je pogoj izpolnjen, bi se vrnil "zgodovina je primerek teme" in "zgodovina NI primerek teme", če pogoj ne bo uspešen.

Po izvršitvi zgornje kode bo izhod "zgodovina NI primerek teme", kar pomeni, da pogoj, ki je posredovan v IF, ne uspe. Zgodilo se je zato, ker smo s razredom Topic poskušali preveriti nadrejenega predmeta "history". Vemo, da razred Tema razširi razred Predmet, kar pomeni, da je Tema podrazred za Subject. Ko smo poskusili preveriti vrsto zgodovine z razredom Topic, se vrne napačno (NE). To pomeni, da nadrejeni objekt ne more biti primerek razreda.

Izhod:

Zaključek- instanceOva v Javi

Izvedeli smo za razred instanceOf v Javi, ki se preprosto odloči, ali je objekt dane vrste. Razumeli smo, kako razmerje vpliva na operaterja instanceOf. Znan tudi kot primerjalni operater, instanceOf temelji na dedovanju.

Priporočeni članki

To je vodnik za InstanceOf na Javi. Tukaj razpravljamo o tem, kako deluje InstanceOf v Javi, pravila s kodo Interpretation. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Ključne besede Java
  2. Napomene Java
  3. Cheat Sheet JavaScript
  4. PHP Ključne besede