Introduktion til exampleOf i Java
exampleOf er en Java-programmeringssprogsklasse, der, når den kaldes, returnerer boolesk værdi og bruges til at undersøge forholdet mellem objekt og en klasse / interface. På grund af dens evne til at sammenligne disse to, er det også kendt som "type sammenligningsoperatør". Simpelthen bruges instansOf til at kontrollere, om et objekt er af en hvilken som helst type eller ikke, og det returnerer en boolesk værdi, der enten er sand eller falsk. InstanceOf er en af de hjælpsomme operatører i java, som hjælper med at få nyttig information om et objekt, i et køringsmiljø.
Syntaks:
InstansenOf-klassen bruges til at kontrollere, om objektet er af en eller anden klasse.
obj instanceOf object
Ovenfor er standardsyntaxen for f.eks. Klasse. Her er obj navnet på det objekt, der skal være blevet oprettet tidligere (reference). exampleOf er nøgleordet, og objektet er klassen eller grænsefladen, som vi matcher obj-objektet med.
I forskellige tilfælde kan eksempel af bevises at være til stor brug, som hvor vi har en samling objekter, og du er ikke sikker på, hvilket objekt det refererer til. Et eksempel på et sådant tilfælde kan være en enkel form med mange kontroller.
Også, hvis vi bruger instanceOf med en variabel, der har en NULL-værdi, er det sikker på at returnere falsk.
Hvordan forekomst af arbejde?
Eksempeloperatøren i java arbejder på et simpelt forhold. Bare at angive, er et forhold er et objektorienteret begreb, hvor vi sammenligner eller siger, arbejder på en relation mellem abstraktioner, hvor klasse A er en underklasse af klasse B. Dette er et forhold, der er fuldstændigt baseret på arv. Med andre ord er det som at sige, "X er af Y-type".
Lad os nu forstå, hvordan eksemplet fungerer sammen med den respektive kode.
Først opretter vi en klasse med navnet Forælder.
Kode:
Class Parent(
)
Then let's add a simple main class.
public static void main(String args()) (
)
Vi opretter derefter et eksempel på vores forældreklasse.
Parent child = new Parent();
Endelig bruger vi operatoren instancefunktion til at kontrollere forholdet mellem barn og forældre. Hvilket går således: barneforekomst af forældre
Som tidligere nævnt går syntaks for eksempelOf fra et objekt, der skal kontrolleres, derefter nøgleordet instans og derefter den klasse / grænseflade, som det givne objekt skal testes med.
På et hvilket som helst tidspunkt, hvor vi møder nøgleordet "udvider" eller "implementerer", i en klassedeklaration, er det et klart tegn på, at der er et forhold, der bruges.
Eksempler på instans af i Java
Følgende eksempel viser en enkelt linjebrug af instansOf.
Class instanceof_java(
public static void main(String args()) (
instanceof_java s = new instanceof_java();
System.out.println(s instanceOf instanceof_java);
)
)
Kodetolkning: Begyndte med at oprette en simpel klasseinstans af_java. I klassen instans af_java har vi vores hovedklasse og inden for vores hovedklasse har vi et objekter, der er oprettet. Dette objekt s er af type af_java-type. Derefter tilvejebragte vi en output-erklæring med objekt s for at implementere funktionen af exampleOf. I den sidste linje passerede vi s sammen med forekomsten af nøgleordet og den overordnede klasse. Ved udførelse returnerer koden 'sand', fordi objektet er af forekomst af typen.
Hvis vi bevæger os videre, hvis vi har et objekt fra vores kendte klasse eller interface, men vi ikke har tildelt nogen værdi til det samme objekt, er det bundet til at returnere falsk, selvom det er af 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 havde for tidligere eksempel, men med et nullværdiobjekt. Når den udføres, vil denne kode returnere falsk. Som vi kan se, er objekt nyt forekomsten af eksempel af_sample, men nyt tildeles med en nulværdi, der vender tilbage i falsk.
Regler for eksempel af operatør
Baseret på om objektets ref er ikke null, og en forekomst af den nævnte type. Når X er den enkle klasse for det nævnte objekt, og Y er den løste klasse eller en matrix af en grænsefladetype.
- Når X er en simpel klasse, skal du:
- Hvis Y er en klassetype, skal X være en underklasse af Y eller X skal være den samme klasse som Y.
- Hvis Y er en grænsefladetype, skal X-klassen implementere interface T.
- Når X er type interface, skal du:
- Hvis Y er en klassetype, skal Y være et objekt.
- Y kan være den samme som grænsefladen som X eller super interface af X, hvis Y er en grænsefladetype.
- Hvis X er en klasse, der repræsenterer array-typen SC (), som er en matrix af type SC-komponenter, så:
- Hvis Y er en klassetype, skal Y være et objekt.
- Hvis Y er en grænsefladetype, skal Y være af interface-typen implementeret af arrays.
Endelig vil vi demonstrere et eksempelOf-program for at forstå, at det overordnede objekt ikke kan være et eksempel på børneklassen.
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");
)
)
Kodetolkning: Med det formål at forstå operatoren instans af forskellige scenarier skrev vi ovenstående kode. Vi oprettede et simpelt klasseemne og derefter et andet klassemne, der udvider klasseemne, hvilket gør klassen emne som barn og klassen emne som forælder her. Så en anden klasse med hovedmetoden. Inden for hovedmetoden oprettede vi en ny forekomst af moderklasseemne. I IF ELSE-sløjfen kontrollerede vi tilstanden for instansobjektet med den overordnede klasse Emne. Hvis betingelsen var opfyldt, ville den returnere "historie er et eksempel på emne" og "historie er IKKE et eksempel på emne", hvis betingelsen mislykkes.
Ved udførelse af ovenstående kode vil output være "historie er IKKE et eksempel på emne", hvilket betyder, at betingelsen, der er givet i IF, mislykkes. Det skete, fordi vi prøvede at kontrollere overordnet til objektet "historie" med klasseemne. Vi ved, at klassen emne udvider klassen emne, hvilket betyder emne er underklasse til emnet. Og da vi forsøgte at kontrollere typen af historie med klasseemne, returnerer det falsk (IKKE). Dette betyder, at overordnede objekt ikke kan være et eksempel på en klasse.
Produktion:
Konklusion - eksempel på i Java
Vi har lært om forekomst af klasse i Java, der blot bestemmer, om objektet er af den givne type. Vi forstod, hvordan er et forhold indflydelse på forekomst af operatør. Også kendt som en sammenligningsoperatør, er caseOf baseret på arv.
Anbefalede artikler
Dette har været en guide til InstanceOf i Java. Her diskuterer vi, hvordan InstanceOf i Java fungerer, regler med kodetolkning. Du kan også se på de følgende artikler for at lære mere -
- Java-nøgleord
- Java-kommentarer
- Cheat Sheet JavaScript
- PHP-nøgleord