Uvod u instanceOf u Javi
instanceOf je jezična klasa programskog jezika Java, koja se poziva kada vraća logičku vrijednost i koristi se za ispitivanje odnosa između Objekta i klase / sučelja. Zbog sposobnosti uspoređivanja ove dvije, također je poznat i kao "operator usporedbe tipa". Jednostavno, instanceOf se koristi za provjeru da li je neki objekt bilo koje vrste ili ne, te vraća logičku vrijednost koja je istinita ili lažna. InstanceOf je jedan od korisnih operatora u javi, koji pomaže u pribavljanju korisnih informacija o objektu, u okruženju koje se pokreće.
Sintaksa:
Klasa instanceOf koristi se za provjeru je li objekt bilo koje klase ili ne.
obj instanceOf object
Iznad je standardna sintaksa za classOf klase. Ovdje je obj naziv objekta koji je morao biti stvoren ranije (referenca). instanceOf je ključna riječ, a objekt je klasa ili sučelje s kojim se podudaramo s objektom obj.
U različitim slučajevima može se dokazati da se instanceOf od velike koristi, primjerice tamo gdje imamo zbirku objekata i niste sigurni na koji se predmet odnosi. Primjer takvog slučaja može biti jednostavan obrazac s mnogim kontrolama.
Također, ako u slučaju da koristimo instanceOf sa varijablom koja ima NULL vrijednost, sigurno će se vratiti false.
Kako funkcionira instanceOf?
Operator instanceOva u javi radi na jednostavnom odnosu je. Jednostavno navodeći, odnos-je odnos je objektno orijentirani koncept, gdje uspoređujemo ili kažemo, rad na odnosu među apstrakcijama, gdje je klasa A potklasa klase B. To je odnos koji se u potpunosti temelji na nasljeđivanju. Drugim riječima, to je kao da kažete: "X je Y tipa".
A sada, shvatimo funkcioniranje instanceOf, zajedno s pripadajućim kodom.
Prvo ćemo stvoriti klasu pod nazivom Roditelj.
Kodirati:
Class Parent(
)
Then let's add a simple main class.
public static void main(String args()) (
)
Tada ćemo stvoriti instancu klase Parent.
Parent child = new Parent();
Najzad, koristit ćemo operator instanceOf da provjerimo odnos između djeteta i roditelja. Što ide ovako: podređeni primjerak roditelja
Sada, kao što je ranije spomenuto, sintaksa za primjerOf kreće od objekta koji mora provjeriti, zatim ključne riječi instanceOf, a zatim klase / sučelja s kojim će se dati objekt testirati.
U bilo kojoj točki u kojoj se u deklaraciji klase susrećemo s ključnom riječi "produžuje" ili "implementira", to je jasan znak odnosa-koristi.
Primjeri instanceOf u Javi
Sljedeći primjer prikazuje upotrebu retka instanceOf u jednoj liniji.
Class instanceof_java(
public static void main(String args()) (
instanceof_java s = new instanceof_java();
System.out.println(s instanceOf instanceof_java);
)
)
Tumačenje koda: Započelo sa stvaranjem jednostavne instance instance_java klase. U klasi instanceof_java, imamo svoju glavnu klasu i unutar naše glavne klase je stvoren objekt. Ovaj objekt je vrste instanceof_java. Zatim da implementiramo rad instanceOf, pružili smo izlaznu izjavu s objektima s. U posljednjem retku dodali smo s, uz ključnu riječofot i roditeljsku klasu. Nakon izvršenja, kôd će vratiti 'true', jer je objekt s typeof tipa.
Dalje, ako imamo objekt poznate klase ili sučelja, ali istome objektu nismo dodijelili nikakvu vrijednost, on je dužan vratiti lažnu vrijednost, iako je iste klase.
Class instanceof_sample(
public static void main(String args()) (
instanceof_sample new = null;
System.out.println(new instanceOf instanceof_sample);
)
)
Ovdje imamo sličan kôd kao što smo imali u ranijem primjeru, ali s objektom nulte vrijednosti. Kad se izvrši, ovaj će se kôd vratiti neistinitim. Kao što vidimo, objekt new je instanca instanceof_sample, ali novi je dodijeljen s null vrijednošću, koja se vraća u false.
Pravila za primjer Operatora
Na temelju je li objekt ref nije nula i instanca navedenog tipa. Kada je X jednostavna klasa predmetnog objekta, a Y je razriješena klasa ili niz vrsta sučelja.
- Kad je X jednostavna klasa, tada:
- Ako je Y vrsta klase, tada X mora biti potklasa od Y ili X mora imati istu klasu kao Y.
- Ako je Y vrsta sučelja, tada X klasa mora implementirati sučelje T.
- Kad je X sučelje tipa, tada:
- Ako je Y vrsta klase, Y mora biti objekt.
- Y može biti isto što i sučelje X ili super sučelje X ako je Y sučelje.
- Ako je X klasa, koja predstavlja niz tipa SC (), koji je niz SC komponenti tipa, tada:
- Ako je Y vrsta klase, Y mora biti objekt.
- Ako je Y vrsta sučelja, tada Y mora biti tipa sučelja koju implementiraju nizovi.
Napokon ćemo pokazati program instanceOf da bismo shvatili da nadređeni objekt ne može biti instanca podređene klase.
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");
)
)
Tumačenje koda: U svrhu razumijevanja operatera instanceOf u različitim scenarijima, napisali smo gornji kôd. Stvorili smo jednostavnu klasu Predmet, a zatim još jednu klasu Tema koja proširuje predmet klase, čineći klasu Tema kao podređeno, a klasa Predmet kao roditelj. Zatim još jedan razred s glavnom metodom. Unutar glavne metode stvorili smo novu instancu nadređene klase Subject. U petlji IF ELSE provjerili smo stanje objekta instance s nadređenom klasom Subject. Ako je uvjet ispunjen, vraća se "povijest je instanca teme" i "povijest NIJE instanca teme" ako uvjet ne uspije.
Nakon izvršenja gornjeg koda, ishod će biti "povijest NIJE instanca teme", što znači da uvjet prenesen u IF ne uspije. Dogodilo se zato što smo pokušali provjeriti roditelja objekta „povijest“ s klasom Topic. Znamo da klasa Tema proširuje klasu Subject, što znači da je Tema potklasa na Subject. A kad smo pokušali provjeriti vrstu povijesti s klasom Topic, ona se vraća lažno (NIJE). To znači da nadređeni objekt ne može biti instanca klase.
Izlaz:
Zaključak- instanceOf u Javi
Saznali smo o classOf klasi u Javi koja jednostavno odlučuje je li objekt zadanog tipa. Razumjeli smo kako takav odnos utječe na operatera instanceOf. Poznat i kao operator za usporedbu, instanceOf se temelji na nasljeđivanju.
Preporučeni članci
Ovo je Vodič za InstanceOf u Javi. Ovdje raspravljamo o tome kako funkcionira InstanceOf u Javi, pravila s tumačenjem koda. Možete također pogledati sljedeće članke da biste saznali više -
- Java Ključne riječi
- Java primjedbe
- Cheat Sheet JavaScript
- PHP Ključne riječi