In diesem Tutorial lernen Sie anhand von Beispielen ausführlich die Java-Instanz des Operators kennen.
Der instanceof
Operator in Java wird verwendet, um zu überprüfen, ob ein Objekt eine Instanz einer bestimmten Klasse ist oder nicht.
Die Syntax lautet
objectName instanceOf className;
Wenn objectName eine Instanz von className ist, gibt der Operator hier zurück true
. Andernfalls wird es zurückgegeben false
.
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 ist eine Instanz von String: true obj ist eine Instanz von Main: true
Im obigen Beispiel haben wir einen Variablennamen vom String
Typ und ein Objektobjekt der Hauptklasse erstellt.
Hier haben wir den instanceof
Operator verwendet, um zu überprüfen, ob name und obj Instanzen der String
Klasse bzw. der Hauptklasse sind . true
In beiden Fällen kehrt der Bediener zurück .
Hinweis : Ist in Java String
eher eine Klasse als ein primitiver Datentyp. Weitere Informationen finden Sie unter Java String.
Java-Instanz von während der Vererbung
Mit dem instanceof
Operator können wir überprüfen, ob Objekte der Unterklasse auch eine Instanz der Oberklasse sind. Beispielsweise,
// 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 einen Unterklassenhund erstellt, der von der Oberklasse Tier erbt. Wir haben ein Objekt d1 der Dog-Klasse erstellt.
Beachten Sie in der print-Anweisung den Ausdruck:
d1 instanceof Animal
Hier verwenden wir den instanceof
Operator, um zu überprüfen, ob d1 auch eine Instanz der Oberklasse Animal ist.
Java-Instanz von in Interface
Der instanceof
Operator wird auch verwendet, um zu überprüfen, ob ein Objekt einer Klasse auch eine Instanz der von der Klasse implementierten Schnittstelle ist. Beispielsweise,
// 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 implementiert die Dog-Klasse die Animal-Schnittstelle. Beachten Sie in der print-Anweisung den Ausdruck:
d1 instanceof Animal
Hier ist d1 eine Instanz der Hundeklasse. Der instanceof
Operator prüft, ob d1 auch eine Instanz der Schnittstelle Animal ist.
Hinweis : In Java werden alle Klassen von der Object
Klasse geerbt . Instanzen aller Klassen sind also auch eine Instanz der Object
Klasse.
Wenn wir im vorherigen Beispiel überprüfen,
d1 instanceof Object
Das Ergebnis wird sein true
.