Šioje pamokoje išsamiai sužinosite apie „Java instanceof“ operatorių, naudodamiesi pavyzdžiais.
instanceof
Java operatorius naudojamas patikrinti, ar objektas yra tam tikros klasės ar ne pavyzdys.
Jo sintaksė yra
objectName instanceOf className;
Jei „objectName“ yra „className“ egzempliorius, operatorius grįžta true
. Priešingu atveju jis grįžta false
.
Pavyzdys: 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); ) )
Rezultatas
vardas yra String egzempliorius: true obj yra Main: true pavyzdys
Ankstesniame pavyzdyje mes sukūrėme kintamojo String
tipo pavadinimą ir pagrindinės klasės objekto objektą.
Čia mes naudojome instanceof
operatorių norėdami patikrinti, ar vardas ir obj yra String
atitinkamai „Main“ ir „Main“ klasės egzemplioriai . Operatorius grįžta true
abiem atvejais.
Pastaba : „Java“ String
yra klasė, o ne primityvus duomenų tipas. Norėdami sužinoti daugiau, apsilankykite „Java“ eilutėje.
„Java“ pavyzdys paveldėjimo metu
Mes galime naudoti instanceof
operatorių norėdami patikrinti, ar poklasio objektai taip pat yra superklasės egzemplioriai. Pavyzdžiui,
// 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 ) )
Ankstesniame pavyzdyje mes sukūrėme poklasį Šunį, kuris paveldi iš superklasės Gyvūno. Mes sukūrėme šunų klasės objektą d1.
Atspausdinto pareiškimo viduje atkreipkite dėmesį į išraišką,
d1 instanceof Animal
Čia mes naudojame instanceof
operatorių norėdami patikrinti, ar d1 taip pat yra superklasės „Animal“ pavyzdys.
„Java“ pavyzdys sąsajoje
instanceof
Operatorius taip pat naudojamas patikrinti, ar iš klasės objektas taip pat yra sąsaja pagal klasę įgyvendintas atvejis. Pavyzdžiui,
// 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 ) )
Ankstesniame pavyzdyje šunų klasė įgyvendina gyvūnų sąsają. Atspausdinto pareiškimo viduje atkreipkite dėmesį į išraišką,
d1 instanceof Animal
Čia d1 yra šuns klasės pavyzdys. Į instanceof
operatorius patikrina, ar D1 taip pat yra sąsajos Gyvūnų atvejis.
Pastaba : „Java“ programoje visos klasės yra paveldimos iš Object
klasės. Taigi, visų klasių egzemplioriai taip pat yra Object
klasės egzemplioriai .
Ankstesniame pavyzdyje, jei patikrinsime,
d1 instanceof Object
Rezultatas bus true
.