Java-Instanz des Operators
Java-Instanz des Operators
In diesem Tutorial lernen Sie den Java-Operator instanceof anhand von Beispielen im Detail kennen.
Der instanceof
Operator in Java wird verwendet, um zu prüfen, ob ein Objekt eine Instanz einer bestimmten Klasse ist oder nicht.
Seine Syntax ist
objectName instanceOf className;
Hier, wenn objectName ist eine Instanz von className , gibt der Operator true
zurück . Andernfalls wird false
zurückgegeben .
Beispiel:Java-Instanz von
class Main {
public static void main(String[] args) {
// create a variable of string type
String name = "Programiz";
// checks if name is instance of String
boolean result1 = name instanceof String;
System.out.println("name is an instance of String: " + result1);
// create an object of Main
Main obj = new Main();
// checks if obj is an instance of Main
boolean result2 = obj instanceof Main;
System.out.println("obj is an instance of Main: " + result2);
}
}
Ausgabe
name is an instance of String: true obj is an instance of Main: true
Im obigen Beispiel haben wir eine Variable name erstellt der String
Typ und ein Objekt obj des Main Klasse.
Hier haben wir den instanceof
verwendet Operator, um zu prüfen, ob name und obj sind Instanzen von String
und Haupt Klasse bzw. Und der Operator gibt true
zurück in beiden Fällen.
Hinweis :In Java String
ist eher eine Klasse als ein primitiver Datentyp. Um mehr zu erfahren, besuchen Sie Java String.
Java-Instanz von während der Vererbung
Wir können den instanceof
verwenden Operator, um zu prüfen, ob Objekte der Unterklasse auch eine Instanz der Oberklasse sind. Zum Beispiel
// Java Program to check if an object of the subclass
// is also an instance of the superclass
// superclass
class Animal {
}
// subclass
class Dog extends Animal {
}
class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog d1 = new Dog();
// checks if d1 is an instance of the subclass
System.out.println(d1 instanceof Dog); // prints true
// checks if d1 is an instance of the superclass
System.out.println(d1 instanceof Animal); // prints true
}
}
Im obigen Beispiel haben wir eine Unterklasse Dog erstellt die von der Oberklasse Animal erbt . Wir haben ein Objekt d1 erstellt des Hundes Klasse.
Beachten Sie innerhalb der print-Anweisung den Ausdruck
d1 instanceof Animal
Hier verwenden wir den instanceof
Operator, um zu prüfen, ob d1 ist auch eine Instanz der Oberklasse Animal .
Java-Instanz von in Interface
Die instanceof
-Operator wird auch verwendet, um zu prüfen, ob ein Objekt einer Klasse auch eine Instanz der von der Klasse implementierten Schnittstelle ist. Zum Beispiel
// Java program to check if an object of a class is also
// an instance of the interface implemented by the class
interface Animal {
}
class Dog implements Animal {
}
class Main {
public static void main(String[] args) {
// create an object of the Dog class
Dog d1 = new Dog();
// checks if the object of Dog
// is also an instance of Animal
System.out.println(d1 instanceof Animal); // returns true
}
}
Im obigen Beispiel der Hund Klasse implementiert das Tier Schnittstelle. Beachten Sie innerhalb der print-Anweisung den Ausdruck
d1 instanceof Animal
Hier, d1 ist eine Instanz von Dog Klasse. Die instanceof
Operator prüft, ob d1 ist auch eine Instanz der Schnittstelle Animal .
Hinweis :In Java werden alle Klassen von Object
geerbt Klasse. Instanzen aller Klassen sind also auch Instanzen von Object
Klasse.
Wenn wir im vorherigen Beispiel prüfen,
d1 instanceof Object
Das Ergebnis ist true
.
Java