Java instanceof (ar piemēriem)

Šajā apmācībā jūs detalizēti uzzināsit par operatora Java instanceof, izmantojot piemērus.

instanceofJava operators izmanto, lai pārbaudītu, vai objekts ir gadījums konkrētas klases vai nē.

Tās sintakse ir

 objectName instanceOf className;

Lūk, ja objectName ir className gadījums, operators atgriežas true. Pretējā gadījumā tas atgriežas false.

Piemērs: 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); ) )

Rezultāts

 nosaukums ir virknes: true obj gadījums ir Main: true

Iepriekš minētajā piemērā mēs esam izveidojuši StringMain klases tipa mainīgo nosaukumu un objekta obj klasi.

Šeit mēs izmantojām instanceofoperatoru, lai pārbaudītu, vai nosaukums un obj ir Stringattiecīgi klases un Main klases gadījumi. Operators atgriežas trueabos gadījumos.

Piezīme : Java valodā Stringtā ir klase, nevis primitīvs datu tips. Lai uzzinātu vairāk, apmeklējiet Java virkni.

Java instanceof mantojuma laikā

Mēs varam izmantot instanceofoperatoru, lai pārbaudītu, vai apakšklases objekti ir arī augstākās klases eksemplārs. Piemēram,

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

Iepriekš minētajā piemērā mēs esam izveidojuši apakšklases suni, kas manto no augstākās klases dzīvnieka. Mēs esam izveidojuši suņu klases objektu d1.

Ievietojiet izdrukas paziņojumā izteicienu,

 d1 instanceof Animal

Šeit mēs izmantojam instanceofoperatoru, lai pārbaudītu, vai d1 ir arī augstākās klases dzīvnieka eksemplārs.

Java instanceof saskarnē

instanceofOperators arī izmanto, lai pārbaudītu, vai objekts klases ir arī gadījums interfeisu, klases īsteno. Piemēram,

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

Iepriekš minētajā piemērā suņu klase īsteno dzīvnieku saskarni. Ievietojiet izdrukas paziņojumā izteicienu,

 d1 instanceof Animal

Šeit d1 ir suņu klases eksemplārs. Par instanceofOperators pārbauda, vai d1 ir arī gadījums interfeisa Dzīvnieku.

Piezīme : Java valodā visas klases tiek mantotas no Objectklases. Tātad visu klašu gadījumi ir arī Objectklases gadījumi.

Iepriekšējā piemērā, ja mēs pārbaudām,

 d1 instanceof Object

Rezultāts būs true.

Interesanti raksti...