Java instanceof (koos näidetega)

Lang L: none (table-of-contents)

Selles õpetuses saate näiteid kasutades üksikasjalikult teada operaatori Java instanceofist.

instanceofOperaator Java kasutatakse, et kontrollida, kas objekt on näiteks konkreetse klassi või mitte.

Selle süntaks on

 objectName instanceOf className;

Siin, kui objectName on klassiNime eksemplar, tagastab operaator true. Muidu naaseb false.

Näide: 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äljund

 nimi on Stringi eksemplar: true obj on Main: true eksemplar

Ülaltoodud näites oleme loonud StringMaini tüüpi muutuja nime ja objekti obj objekti.

Siin oleme kasutanud instanceofoperaatorit, et kontrollida, kas nimi ja objekt on Stringvastavalt klassi ja Main eksemplarid . Ja operaator naaseb truemõlemal juhul.

Märkus . Javas Stringon pigem klass kui primitiivne andmetüüp. Lisateabe saamiseks külastage Java Stringi.

Java instanceof pärimise ajal

instanceofOperaatori abil saame kontrollida, kas alamklassi objektid on ka superklassi eksemplarid. Näiteks,

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

Ülaltoodud näites oleme loonud alamklassi koera, kes pärib superklassist Loom. Oleme loonud koera klassi objekti d1.

Prindiväljavõtte sees märka väljendit,

 d1 instanceof Animal

Siin instanceofkontrollime operaatorit, kas d1 on ka superklassilise looma eksemplar.

Java-liides liideses

instanceofOperaator kasutatakse ka kontrollida, kas objekti klassi on ka näiteks liidese rakendatud klassi. Näiteks,

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

Ülaltoodud näites rakendab koerte klass looma liidest. Prindiväljavõtte sees märkige avaldist,

 d1 instanceof Animal

Siin on d1 koeraklassi eksemplar. instanceofOperaator kontrollib, kas D1 on ka näiteks liidese Animal.

Märkus . Java-s on kõik klassid klassilt päritud Object. Nii et kõigi klasside eksemplarid on ka Objectklassi eksemplarid .

Kui kontrollime eelmises näites,

 d1 instanceof Object

Tulemuseks saab true.

Huvitavad Artiklid...