Java-instans av (med exempel)

I denna handledning lär du dig mer om Java-instans av operatör i detalj med hjälp av exempel.

Den instanceofoperatör i Java används för att kontrollera om ett objekt är en instans av en viss klass eller inte.

Dess syntax är

 objectName instanceOf className;

Här, om objectName är en instans av className, returnerar operatören true. Annars återkommer den false.

Exempel: Java-instans av

 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); ) )

Produktion

 namn är en instans av String: true obj är en instans av Main: true

I exemplet ovan har vi skapat ett variabelnamn av Stringtypen och ett objekt obj från huvudklassen.

Här har vi använt instanceofoperatören för att kontrollera om namn och obj är förekomster av Stringrespektive huvudklassen. Och operatören återvänder truei båda fallen.

Obs! I Java Stringär det en klass snarare än en primitiv datatyp. För att lära dig mer, besök Java String.

Java-instans av under arv

Vi kan använda instanceofoperatören för att kontrollera om objekt i underklassen också är en förekomst av superklassen. Till exempel,

 // 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 ) )

I exemplet ovan har vi skapat en underklass Hund som ärver från superklassen Animal. Vi har skapat ett objekt d1 av hundklassen.

Lägg märke till uttrycket i utskriftsuttalandet,

 d1 instanceof Animal

Här använder vi instanceofoperatören för att kontrollera om d1 också är en instans av superklassen Animal.

Java-instans i gränssnitt

Den instanceofOperatören används också för att kontrollera om ett objekt av en klass är också en instans av gränssnittet implementeras av klassen. Till exempel,

 // 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 ) )

I exemplet ovan implementerar hundklassen djurgränssnittet. Lägg märke till uttrycket i utskriftsuttalandet,

 d1 instanceof Animal

Här är d1 en förekomst av hundklass. De instanceofoperatörs kontrollerar om d1 är också en instans av gränssnittet Animal.

Obs! I Java ärvs alla klasser från Objectklassen. Så instanser av alla klasser är också en instans av Objectklassen.

I det föregående exemplet, om vi kontrollerar,

 d1 instanceof Object

Resultatet blir true.

Intressanta artiklar...