InstanceOf In is een operator die wordt gebruikt om het type object te controleren. Met andere woorden, het test of het object een instantie is van een specifieke klasse of een interface. De output van een dergelijke operatie is ofwel Klopt of Vals
De volgende tips komen in dit artikel aan bod:
- instanceOf
- Een variabele met nulwaarde gebruiken
- Een bovenliggend object is geen instantie van een kind
- Downcasting
- Inzicht in instanceOf
Verder gaan met dit artikel over instanceOf in Java.
Deze operator wordt ook wel type genoemd vergelijkingsoperator , aangezien de instantie wordt vergeleken met het type.
zet string om in array php
Syntaxis:
(object) instantie van (type)
Een voorbeeld van de operator instanceOf is hieronder te zien:
public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (voorbeeld van Main)}}
Uitvoer
waar
In het voorbeeld is de uitvoer die aan de gebruiker wordt geretourneerd waar , d.w.z. ' s ”Is een instantie van klasse Main.
Voorbeeld
Een object van het type subklasse is ook een type bovenliggende klasse.
In het volgende voorbeeld breidt Rock Music uit. Het object van Rock kan worden verwezen door Rock- of Music-lessen.
class Music {} class Rock breidt uit Muziek {// Rock erft Muziek public static void main (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}
Uitvoer
waar
Verder gaan met dit artikel over instanceOf in Java.
Gebruik een variabele met een null-waarde
class Music {public static void main (String args []) {Music m = null System.out.println (m instantie van muziek) // false}}
In het bovenstaande voorbeeld heeft de gedefinieerde variabele een null-waarde.
De geretourneerde uitvoer is dus false.
Uitvoer
false
Het volgende punt moet worden opgemerkt bij het gebruik van de operator instanceOf:
Verderop met dit artikel over instanceOf in Java.
Een bovenliggend object is geen instantie van Child
class Parent {} class Child breidt Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p is een instantie van Child) ') else System.out.println (' p is geen instantie van Child ')}}
Uitvoer
P is geen instantie van Child
Verder gaan met dit artikel over instanceOf in Java.
Downc een steek
Wanneer naar een object van de bovenliggende klasse wordt verwezen door een subklasse, staat de methode bekend als downcasting.
Bij het rechtstreeks uitvoeren van downcasting geeft de compiler een compilatiefout terug.
Rock r = new Music () // compilatiefout
Bij het gebruik van typecasting wordt ClassCastException tijdens de runtime gegenereerd.
Rock r = (Rock) new Music () // compilatie succesvol maar ClassCastException gegooid
De enige methode waarmee downcasting mogelijk is, is door de operator instanceof te gebruiken.
class Music {} class Rock breidt muziek uit {static void method (Music m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} public static void main (String [] args) {Music m = new Rock () Rock.method (m)}}
Uitvoer
Downcasting succesvol
Verder gaan met dit artikel over instanceOf in Java.
Instantie van:
De instanceOf-methode kan explicieter worden begrepen door de onderstaande voorbeelden:
Dit voorbeeld maakt gebruik van een interface:
interface Instance {} klasse S implementeert Instance {public void s () {System.out.println ('Eerste methode')}} klasse T implementeert Instance {public void t () {System.out.println ('Tweede methode') }} class 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 ()}}} class Main {public static void main (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}
De output van het voorbeeld is als volgt:
Tweede methode
Dit voorbeeld illustreert dit concept op een precieze manier. Hier is de bovenliggende klasse Instrument en de twee kinderklassen zijn Gitaar en Piano:
class Instrument {} class Guitar breidt Instrument {} class Piano breidt Instrument {} class Main {public static void main (String [] args) {Instrument i = new Instrument () Guitar g = new Guitar () Piano p = new Piano ( ) System.out.println (g exemplaar van Instrument) System.out.println (voorbeeld van Instrument) System.out.println (i exemplaar van Gitaar) System.out.println (i exemplaar van Piano) i = g System.out.println ( i exemplaar van gitaar) System.out.println (i exemplaar van piano) i = p System.out.println (i exemplaar van gitaar) System.out.println (i exemplaar van piano)}}
De output is als volgt:
waar
waar
false
false
waar
false
false
waar
Dit is hoe het type object efficiënt wordt gevonden. De operator instanceOf blijkt best handig te zijn, aangezien de methoden op de juiste manier worden uitgevoerd.
Hiermee zijn we aan het einde gekomen van dit artikel over ‘instanceOf in Java’. Als je meer wilt weten, bekijk dan de Java Training van Edureka, een vertrouwd online leerbedrijf. is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.
c ++ sorteerarray in oplopende volgorde
Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.