Java-instantie van Operator
Java-instantie van Operator
In deze zelfstudie leert u in detail over de Java instanceof-operator met behulp van voorbeelden.
De instanceof
operator in Java wordt gebruikt om te controleren of een object een instantie van een bepaalde klasse is of niet.
De syntaxis is
objectName instanceOf className;
Hier, als objectName is een instantie van className , retourneert de operator true
. Anders retourneert het false
.
Voorbeeld:Java-instantie van
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);
}
}
Uitvoer
name is an instance of String: true obj is an instance of Main: true
In het bovenstaande voorbeeld hebben we een variabele gemaakt naam van de String
type en een object obj van de Hoofd klasse.
Hier hebben we de instanceof
. gebruikt operator om te controleren of naam en obj zijn exemplaren van de String
en Hoofd klasse respectievelijk. En de operator retourneert true
in beide gevallen.
Opmerking :In Java, String
is een klasse in plaats van een primitief gegevenstype. Ga voor meer informatie naar Java String.
Java-instantie van tijdens overerving
We kunnen de instanceof
. gebruiken operator om te controleren of objecten van de subklasse ook een instantie van de superklasse zijn. Bijvoorbeeld,
// 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
}
}
In het bovenstaande voorbeeld hebben we een subklasse gemaakt Hond die erft van de superklasse Animal . We hebben een object gemaakt d1 van de Hond klasse.
Let in de printopdracht op de uitdrukking,
d1 instanceof Animal
Hier gebruiken we de instanceof
operator om te controleren of d1 is ook een instantie van de superklasse Animal .
Java-instantie van interface
De instanceof
operator wordt ook gebruikt om te controleren of een object van een klasse ook een instantie is van de interface die door de klasse is geïmplementeerd. Bijvoorbeeld,
// 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
}
}
In het bovenstaande voorbeeld is de Hond klasse implementeert de Animal koppel. Let in de printopdracht op de uitdrukking,
d1 instanceof Animal
Hier, d1 is een instantie van Hond klas. De instanceof
operator controleert of d1 is ook een instantie van de interface Animal .
Opmerking :In Java worden alle klassen overgenomen van de Object
klas. Dus instanties van alle klassen zijn ook een instantie van de Object
klasse.
Als we in het vorige voorbeeld controleren,
d1 instanceof Object
Het resultaat is true
.
Java