Come implementare InstanceOf in JAVA?



Questo articolo su InstanceOf in Java ti introdurrà a Java instancOf Operator e seguirà una dimostrazione pratica.

InstanceOf In è un operatore, che viene utilizzato per controllare il tipo di un oggetto. In altri termini, verifica se l'oggetto è un'istanza di una classe specifica o un'interfaccia. Il risultato di tale operazione è l'uno o l'altro Vero o Falso

I seguenti suggerimenti saranno trattati in questo articolo,





Andando avanti con questo articolo su instanceOf in Java.

Questo operatore è noto anche come tipo operatore di confronto , poiché l'istanza viene confrontata con il tipo.



Sintassi:

(oggetto) istanza di (tipo)

Di seguito è possibile vedere un esempio dell'operatore instanceOf:

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

Produzione



vero

Nell'esempio, l'output restituito all'utente è vero , cioè ' S 'È un'istanza della classe Main.

Esempio

Un oggetto di tipo sottoclasse è anche un tipo di classe genitore.

Nell'esempio seguente, Rock estende Music. L'oggetto del Rock può essere riferito dalla classe Rock o Music.

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

Produzione

vero

Andando avanti con questo articolo su instanceOf in Java.

Utilizzo di una variabile con valore nullo

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

Nell'esempio riportato sopra, la variabile definita ha un valore nullo.

Pertanto, l'output restituito è falso.

Produzione

falso

Il punto seguente deve essere notato durante l'utilizzo dell'operatore instanceOf:

Andando avanti con questo articolo su instanceOf in Java.

Un oggetto padre non è un'istanza di 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 è un'istanza di Child ') else System.out.println (' p non è un'istanza di Child ')}}

Produzione

P non è un'istanza di Child

Andando avanti con questo articolo su instanceOf in Java.

Downc asting

Quando un oggetto della classe Parent viene indicato da una sottoclasse, il metodo è noto come downcasting.

impara a usare visual studio

Quando si esegue direttamente il downcast, il compilatore restituisce un errore di compilazione.

Rock r = new Music () // errore di compilazione

Quando si utilizza il typecasting, ClassCastException viene generata in fase di esecuzione.

Rock r = (Rock) new Music () // compilazione riuscita ma ClassCastException generata

L'unico metodo con cui è possibile il downcasting è utilizzare l'operatore instanceof.

class Music {} class Rock extends Music {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)}}

Produzione

Abbattimento riuscito

Andando avanti con questo articolo su instanceOf in Java.

Capire instanceOf:

Il metodo instanceOf può essere compreso in modo più esplicito dagli esempi forniti di seguito:

Questo esempio fa uso di un'interfaccia:

interfaccia Istanza {} classe S implementa Istanza {public void s () {System.out.println ('Primo metodo')}} classe T implementa Istanza {public void t () {System.out.println ('Secondo metodo') }} 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)}}

L'output dell'esempio è il seguente:
Secondo metodo

Questo esempio dimostra questo concetto in modo preciso. Qui, la classe genitore è Strumento e le due classi figlie sono Chitarra e Pianoforte:

class Strumento {} class Guitar extends Strumento {} class Piano extends Strumento {} 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)}}

L'output è il seguente:

vero

vero

falso

falso

le stringhe in java sono immutabili

vero

falso

falso

vero

Questo è il modo in cui il tipo di un oggetto viene trovato in modo efficiente. L'operatore instanceOf si rivela abbastanza utile, dato che i metodi vengono eseguiti in modo appropriato.

Così siamo giunti alla fine di questo articolo su 'instanceOf in Java'. Se desideri saperne di più, dai un'occhiata al Java Training di Edureka, una società di formazione online affidabile. è progettato per addestrarti sia ai concetti di base che avanzati a Java insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog e ti risponderemo il prima possibile.