InstanceOf i Java - Working & Rules of instansOf i Java med eksempel

Innholdsfortegnelse:

Anonim

Introduksjon til instans av i Java

exampleOf er en Java-programmeringsspråkklasse, som når den ringes, returnerer boolesk verdi og brukes til å undersøke forholdet mellom objekt og en klasse / grensesnitt. På grunn av sin evne til å sammenligne disse to, er det også kjent som "type sammenligningsoperatør". Bare instans brukes for å sjekke om et objekt er av en eller annen type, og det returnerer en boolesk verdi som er enten sann eller usann. InstanceOf er en av de nyttige operatørene i java, som hjelper deg med å skaffe nyttig informasjon om et objekt, i et kjøremiljø.

syntaks:

InstansenOf-klassen brukes til å sjekke om objektet er av en klasse eller ikke.

obj instanceOf object

Over er standard syntaks for eksempel av klasse. Her er obj navnet på objektet som må ha blitt opprettet tidligere (referanse). exampleOf er nøkkelordet og objektet er klassen eller grensesnittet vi matcher obj-objektet med.

I forskjellige tilfeller kan eksempel av bevises å være til stor nytte, for eksempel der vi har en samling objekter og du er ikke sikker på hvilket objekt det refererer til. Et eksempel på et slikt tilfelle kan være en enkel form med mange kontroller.

Hvis vi bruker instans av med en variabel som har en NULL-verdi, er det sikkert å returnere usant.

Hvordan forekomst av arbeid?

Eksempeloperatøren i java jobber med et enkelt forhold. Bare å si, er-et-forhold er et objektorientert konsept, der vi sammenligner eller sier, jobber med en relasjon mellom abstraksjoner, der klasse A er en underklasse av klasse B. Dette er-et forhold som er totalt basert på arv. Med andre ord er det som å si: "X er av typen Y".

La oss nå forstå bruken av exampleOf, sammen med respektive kode.

Først oppretter vi en klasse som heter Foreldre.

Kode:

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

Deretter oppretter vi en forekomst av foreldreklassen vår.

Parent child = new Parent();

Til slutt bruker vi operatoren instans for å sjekke forholdet mellom barn og foreldre. Som går slik: barneforekomst av foreldre

Nå, som nevnt tidligere, går syntaks for eksempelOf fra et objekt som må sjekkes, deretter forekomstOf nøkkelord og deretter klasse / grensesnitt som det gitte objektet skal testes med.

Når som helst der vi møter nøkkelordet "utvides" eller "redskaper", i en klassedeklarasjon, er det et tydelig tegn på at det er et forhold som brukes.

Eksempler på instansOf i Java

Følgende eksempel viser en enkelt linjebruk av instansOf.

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

Kodetolkning: Startet med å lage en enkel klassekomst av_java. I klassen instans av_java har vi vår hovedklasse og innenfor hovedklassen har vi et objekt som er opprettet. Dette objektet er av type av_java-type. Så for å implementere fungeringen av instansOf, ga vi en uttalelse med objekt s. I den siste linjen passerte vi s sammen med forekomsten av nøkkelord og foreldreklassen. Ved utførelse vil koden returnere 'true', fordi objektet er av forekomst av typen.

Hvis vi går videre, hvis vi har et objekt fra vår kjente klasse eller grensesnitt, men vi ikke har tildelt noen verdi til det samme objektet, er det bundet til å returnere usant, selv om det er i samme klasse.

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

Her har vi lignende kode som vi hadde for tidligere eksempel, men med nullverdiobjekt. Når den kjøres, vil denne koden returnere falsk. Som vi kan se, er objekt nytt forekomsten av exampleof_sample, men nytt blir tilordnet med en nullverdi, som returneres i falsk.

Regler for for eksempel operatør

Basert på om objektet ref er ikke null, og en forekomst av den refererte typen. Når X er den enkle klassen for det refererte objektet og Y er den løste klassen eller en gruppe av en grensesnitttype.

  • Når X er en enkel klasse, så:
  • Hvis Y er en klassetype, må X være en underklasse av Y eller X må være den samme klassen som Y.
  • Hvis Y er en grensesnitttype, må X-klassen implementere grensesnitt T.
  • Når X er grensesnitt av typen, så:
  • Hvis Y er en klassetype, må Y være et objekt.
  • Y kan være den samme som grensesnittet som X eller supergrensesnitt for X hvis Y er en grensesnitttype.
  • Hvis X er en klasse, som representerer matrisen type SC (), som er en gruppe med type SC-komponenter, så:
  • Hvis Y er en klassetype, må Y være et objekt.
  • Hvis Y er en grensesnitttype, må Y være av grensesnitttype implementert av matriser.

Til slutt vil vi demonstrere et instansFrogram for å forstå at foreldreobjektet ikke kan være et eksempel på barneklassen.

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");
)
)

Tolkning av kode: I den hensikt å forstå forekomsten av operatøren i forskjellige scenarier, skrev vi koden ovenfor. Vi opprettet en enkel klasseemne, og deretter en annen klasseemne, som utvider klasseemnet, og gjør klassen emnet som barn og klassen emne som foreldre her. Så en annen klasse med hovedmetoden. Innenfor hovedmetoden opprettet vi en ny forekomst av foreldreklassen Subject. I sløyfen IF ELSE sjekket vi tilstanden til instansobjektet med foreldreklassen Subject. Hvis vilkåret var oppfylt, ville det returnert "historie er et eksempel på emne" og "historie er IKKE et eksempel på emne" hvis betingelsen mislykkes.

Når du kjører koden ovenfor, vil utdataet være "historie er IKKE et eksempel på emne", noe som betyr at tilstanden som er gitt i IF mislykkes. Det skjedde fordi vi prøvde å sjekke overordnet til objektet "historie" med emnet i klassen. Vi vet at klassen Emne utvider klassen Emne, noe som betyr at Emne er underklasse til Emne. Og da vi prøvde å sjekke typen historie med klasseemne, returnerer det usant (IKKE). Dette betyr at overordnet objekt ikke kan være et eksempel på en klasse.

Produksjon:

Konklusjon-instans av i Java

Vi har lært om instans av klasse i Java, som bare bestemmer om objektet er av den gitte typen. Vi forsto hvordan det er et forhold som påvirker forekomst av operatør. Også kjent som en sammenligningsoperatør, er exampleOf basert på arv.

Anbefalte artikler

Dette har vært en guide til InstanceOf i Java. Her diskuterer vi hvordan InstanceOf i Java fungerer, regler med kodetolkning. Du kan også se på følgende artikler for å lære mer -

  1. Java-nøkkelord
  2. Java-merknader
  3. Cheat Sheet JavaScript
  4. PHP nøkkelord