InstanceOf In er en operatør, der bruges til at kontrollere typen af et objekt. Med andre ord tester det, om objektet er en forekomst af en bestemt klasse eller en grænseflade. Resultatet af en sådan operation er enten Sand eller Falsk
Følgende punkter vil blive dækket i denne artikel,
- forekomst af
- Brug af en variabel med nulværdi
- Et overordnet objekt er ikke en instans af et barn
- Nedkastning
- Forståelse af eksempel
Fortsætter med denne artikel om instanceOf i Java.
Denne operatør er også kendt som type sammenligningsoperatør , da forekomsten sammenlignes med typen.
Syntaks:
(objekt) forekomst af (type)
Et eksempel på eksempelOf-operatøren kan ses nedenfor:
public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}
Produktion
sand
I eksemplet er det output, der returneres til brugeren sand , dvs. “ s ”Er en forekomst af klasse Main.
Eksempel
Et objekt af typen underklasse er også en type overordnet klasse.
I det følgende eksempel udvider Rock musik. Objektet med Rock kan henvises enten til Rock eller Music klasse.
klasse Musik {} klasse Rock udvider musik {// Rock arver musik offentlig statisk ugyldig main (String args []) {Rock r = ny Rock () System.out.println (r instans af Rock)}}
Produktion
sand
Fortsætter med denne artikel om instanceOf i Java.
Brug af en variabel med nulværdi
klasse Musik {offentlig statisk ugyldig hoved (String args []) {Musik m = null System.out.println (m forekomst af musik) // falsk}}
I eksemplet ovenfor har den definerede variabel en nulværdi.
hvordan man får array længde i javascript
Den returnerede output er således falsk.
Produktion
falsk
Følgende punkt skal bemærkes, når du bruger operatoren instanceOf:
Fortsætter med denne artikel om instanceOf i Java.
Et overordnet objekt er ikke en forekomst af barn
klasse Forælder {} klasse Barn udvider Forælder {} klasse Hoved {offentlig statisk ugyldigt hoved (String [] args) {Forælder p = ny Forælder () hvis (p eksempel på barn) System.out.println ('p er en forekomst af barn ') ellers System.out.println (' p er ikke en forekomst af barn ')}}
Produktion
P er ikke et eksempel på et barn
Fortsætter med denne artikel om instanceOf i Java.
Downc forbløffende
Når der henvises til et objekt i overordnet klasse i en underklasse, kaldes metoden downcasting.
Ved downcasting direkte returnerer compileren en kompileringsfejl.
Rock r = ny musik () // kompileringsfejl
Ved brug af typecasting kastes ClassCastException ved kørsel.
Rock r = (Rock) ny musik () // kompilering vellykket, men ClassCastException kastet
Den eneste metode, hvormed downcasting er mulig, er at bruge instansen af operatoren.
klasse Musik {} klasse Rock udvider musik {metoden med statisk ugyldighed (musik m) {hvis (m forekomst af rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting lykkedes')}} offentlig statisk tomrum main (String [] args) {Music m = new Rock () Rock.method (m)}}
Produktion
Downcasting vellykket
Fortsætter med denne artikel om instanceOf i Java.
Forståelse af eksempel:
Metoden instans kan forstås mere eksplicit ved eksemplerne nedenfor:
Dette eksempel gør brug af en grænseflade:
interface Instance {} klasse S implementerer Instance {public void s () {System.out.println ('First method')}} klasse T implementerer Instance {public void t () {System.out.println ('Second method') }} klasse 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 ()}} klasse Main {public static void main (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}
Resultatet af eksemplet er som følger:
Anden metode
Dette eksempel demonstrerer dette koncept på en præcis måde. Her er forældreklassen Instrument, og de to barneklasser er guitar og klaver:
Java-program til Fibonacci-serier
klasse Instrument {} klasse Guitar udvider Instrument {} klasse Klaver udvider Instrument {} klasse Main {offentlig statisk ugyldig hoved (String [] args) {Instrument i = nyt instrument () Guitar g = ny guitar () Klaver p = nyt klaver ( ) System.out.println (g eksempel på instrument) System.out.println (p eksempel på instrument) System.out.println (i eksempel på guitar) System.out.println (i eksempel på klaver) i = g System.out.println ( i eksempel på guitar) System.out.println (i eksempel på klaver) i = p System.out.println (i eksempel på guitar) System.out.println (i eksempel på klaver)}}
Outputtet er som følger:
sand
sand
falsk
falsk
sand
falsk
falsk
sand
Sådan findes typen af et objekt effektivt. Instansen Af-operatøren viser sig at være ret nyttig, da metoderne udføres korrekt.
Således er vi nået til en afslutning på denne artikel om 'instanceOf in Java'. Hvis du ønsker at lære mere, skal du tjekke Java Training af Edureka, et betroet online læringsfirma. er designet til at træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.
Har du et spørgsmål til os? Nævn det i kommentarsektionen på denne blog, og vi vender tilbage til dig hurtigst muligt.