Java instanceof (s příklady)

V tomto výukovém programu se podrobně na příkladech seznámíte s operátorem instance Java.

instanceofOperátor v Javě slouží ke kontrole, zda je objekt instancí specifické třídy, nebo ne.

Jeho syntaxe je

 objectName instanceOf className;

Tady, pokud objectName je instancí className, vrátí se operátor true. Jinak se vrátí false.

Příklad: 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); ) )

Výstup

 name je instancí String: true obj je instancí Main: true

Ve výše uvedeném příkladu jsme vytvořili název proměnné Stringtypu a objekt obj třídy Main.

Tady jsme použili instanceofoperátor ke kontrole, zda name a obj jsou instance třídy Stringa Main třídy. V trueobou případech se operátor vrátí .

Poznámka : V Javě Stringje spíše třída než primitivní datový typ. Další informace najdete na stránce Java String.

Java instanceof během dědičnosti

Pomocí instanceofoperátoru můžeme zkontrolovat, zda jsou objekty podtřídy také instancí nadtřídy. Například,

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

Ve výše uvedeném příkladu jsme vytvořili podtřídu Dog, která dědí z nadtřídy Animal. Vytvořili jsme objekt d1 třídy Dog.

Uvnitř tiskového prohlášení si všimněte výrazu,

 d1 instanceof Animal

Tady používáme instanceofoperátor ke kontrole, zda d1 je také instancí nadtřídy Animal.

Java instanceof v rozhraní

instanceofOperátor se rovněž používá ke kontrole, zda je instance rozhraní implementované třídou objekt třídy. Například,

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

Ve výše uvedeném příkladu třída Dog implementuje rozhraní Animal. Uvnitř tiskového prohlášení si všimněte výrazu,

 d1 instanceof Animal

Zde je d1 instancí třídy Dog. Tyto instanceofkontroly operátorů, pokud d1 je také instancí Animal rozhraní.

Poznámka : V Javě jsou všechny třídy zděděny od Objecttřídy. Takže instance všech tříd jsou také instancí Objecttřídy.

V předchozím příkladu, pokud zkontrolujeme,

 d1 instanceof Object

Výsledek bude true.

Zajímavé články...