Com implementar InstanceOf a JAVA?



Aquest article sobre InstanceOf a Java us presentarà Java instancOf Operator i el seguirà amb una demostració pràctica.

InstanceOf In és un operador que s'utilitza per comprovar el tipus d'objecte. En altres termes, prova si l'objecte és una instància d'una classe específica o una interfície. La sortida d'aquesta operació és qualsevol És cert o bé Fals

què és una interfície de marcador a Java

Les següents indicacions es tractaran en aquest article,





Continuem amb aquest article sobre instanceOf a Java.

Aquest operador també es coneix com a tipus operador de comparació , ja que es compara la instància amb el tipus.



Sintaxi:

(objecte) instanceof (tipus)

A continuació es pot veure un exemple de l’operador instanceOf:

public class Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}

Sortida



cert

A l'exemple, la sortida retornada a l'usuari és cert , és a dir, ' s ”És una instància de la classe Main.

Exemple

Un objecte de tipus subclasse també és un tipus de classe pare.

A l'exemple següent, el rock estén la música. L'objecte del Rock es pot referir tant a la classe de Rock com a Música.

class Music {} class Rock extends Music {// Rock herets Music public static void main (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}

Sortida

cert

Continuem amb aquest article sobre instanceOf a Java.

Utilització d’una variable amb valor nul

class Music {public static void main (String args []) {Music m = null System.out.println (m instanceof Music) // false}}

A l'exemple anterior, la variable definida té un valor nul.

Per tant, la sortida retornada és falsa.

Sortida

fals

Cal tenir en compte el següent punt mentre s’utilitza l’operador instanceOf:

Continuem amb aquest article sobre instanceOf a Java.

Un objecte pare no és una instància de Child

class Parent {} class Child extends Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p is a instance of Child ') else System.out.println (' p no és una instància de Child ')}}

Sortida

P no és una instància de Child

Continuem amb aquest article sobre instanceOf a Java.

Downc espantant

Quan una subclase fa referència a un objecte de la classe pare, el mètode es coneix com a downcasting.

En realitzar directament el descens, el compilador retorna un error de compilació.

Rock r = new Music () // error de compilació

Quan s’utilitza la tipografia, ClassCastException s’executa en temps d’execució.

Rock r = (Rock) new Music () // compilació reeixida però ClassCastException llançada

L'únic mètode mitjançant el qual és possible el descens és utilitzar l'operador instanceof.

classe Música {} classe Rock estén Música {mètode de buit estàtic (Música m) {if (m instància de Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} public static void main (String [] args) {Música m = new Rock () Rock.method (m)}}

Sortida

Downcasting Èxit

Continuem amb aquest article sobre instanceOf a Java.

Comprensió de la instància de:

El mètode instanceOf es pot entendre de manera més explícita mitjançant els exemples següents:

Aquest exemple fa ús d'una interfície:

interfície Instància {} classe S implementa Instància {public void s () {System.out.println ('First method')}} classe T implementa Instance {public void t () {System.out.println ('Second method') }} 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)}}

La sortida de l’exemple és la següent:
Segon mètode

Aquest exemple demostra aquest concepte d'una manera precisa. Aquí, la classe principal és Instrument i les dues classes infantils són guitarra i piano:

classe Instrument {} class Guitar extends Instrument {} class Piano extends 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 instanceof Instrument) System.out.println (p instanceof Instrument) System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano) i = g System.out.println ( i instanceof Guitar) System.out.println (i instanceof Piano) i = p System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano)}}

La sortida és la següent:

cert

cert

fals

fals

cert

fals

fals

cert

Així es troba el tipus d'objecte de manera eficient. L'operador instanceOf demostra ser força útil, ja que els mètodes s'executen adequadament.

Així hem arribat al final d’aquest article sobre ‘instanceOf in Java’. Si voleu obtenir més informació, consulteu el programa Java Training by Edureka, una empresa d’aprenentatge en línia de confiança. està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.