Java-instantie van (met voorbeelden)

In deze tutorial leert u met behulp van voorbeelden in detail over de Java-instanceof-operator.

De instanceofoperator 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 een instantie is van className, retourneert de operator true. Anders keert het terug false.

Voorbeeld: Java-instanceof

 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 een instantie van String: true obj is een instantie van Main: true

In het bovenstaande voorbeeld hebben we een variabelenaam gemaakt van het Stringtype en een objectobj van de klasse Main.

Hier hebben we de instanceofoperator gebruikt om te controleren of name en obj instanties zijn van Stringrespectievelijk de klasse en de klasse Main. En de operator keert truein beide gevallen terug.

Opmerking : in Java Stringis dit een klasse in plaats van een primitief gegevenstype. Bezoek Java String voor meer informatie.

Java-instantie van tijdens overerving

We kunnen de instanceofoperator gebruiken 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 Dog gemaakt die erft van de superklasse Animal. We hebben een object d1 van de klasse Dog gemaakt.

Let in de printopdracht op de uitdrukking,

 d1 instanceof Animal

Hier gebruiken we de instanceofoperator om te controleren of d1 ook een instantie is van de superklasse Animal.

Java-instantie van in Interface

De instanceofoperator 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 implementeert de klasse Dog de interface Animal. Let in de printopdracht op de uitdrukking,

 d1 instanceof Animal

Hier is d1 een instantie van de klasse Dog. De instanceofoperator controleert of d1 ook een instantie is van de interface Animal.

Opmerking : in Java worden alle klassen overgenomen van de Objectklasse. Instanties van alle klassen zijn dus ook een instantie van de Objectklasse.

Als we in het vorige voorbeeld controleren,

 d1 instanceof Object

Het resultaat zal zijn true.

Interessante artikelen...