Java instanceof (s primjerima)

U ovom ćete uputstvu uz primjere detaljno naučiti o Java instanceof operatoru.

instanceofOperator u Java se koristi za provjeru je li objekt je instanca određenu klasu ili ne.

Sintaksa mu je

 objectName instanceOf className;

Ovdje, ako je objectName instanca className, operator se vraća true. U suprotnom, vraća se false.

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

Izlaz

 name je instanca String: true obj je instanca Main: true

U gornjem primjeru stvorili smo ime varijable Stringtipa i objekta obj klase Main.

Ovdje smo koristili instanceofoperator da provjerimo jesu li ime i obj instance Stringklase odnosno Main. I, operater se vraća trueu oba slučaja.

Napomena : U Javi Stringje klasa, a ne primitivni tip podataka. Da biste saznali više, posjetite Java String.

Java primjerak tijekom nasljeđivanja

Pomoću instanceofoperatora možemo provjeriti jesu li objekti potklase također instanca superklase. Na primjer,

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

U gornjem primjeru stvorili smo potklasu Pas koja nasljeđuje od superklase Životinja. Stvorili smo objekt d1 klase Pas.

Unutar ispisa, primijetite izraz,

 d1 instanceof Animal

Ovdje koristimo instanceofoperator da provjerimo je li d1 također primjer superklase Animal.

Java instanceof u sučelju

instanceofOperator također se koristi za provjeru je li objekt klase je također instanca sučelje implementira klasu. Na primjer,

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

U gornjem primjeru, klasa Dog implementira sučelje Animal. Unutar ispisa, primijetite izraz,

 d1 instanceof Animal

Ovdje je d1 primjer klase Dog. U instanceofoperator provjerava da li d1 je instanca sučelja životinja.

Napomena : U Javi su sve klase naslijeđene od Objectklase. Dakle, primjerci svih klasa ujedno su i instance Objectklase.

U prethodnom primjeru, ako provjerimo,

 d1 instanceof Object

Rezultat će biti true.

Zanimljivi članci...