Hoe InstanceOf in JAVA te implementeren?



Dit artikel over InstanceOf in Java zal u kennis laten maken met Java instancOf Operator en het opvolgen met praktische demonstraties.

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:





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.