Java instanceof (з прикладами)

У цьому посібнику ви детально дізнаєтеся про оператор Java instanceof за допомогою прикладів.

instanceofОператор в Java використовується для перевірки, чи є об'єкт екземпляром певного класу чи ні.

Його синтаксис -

 objectName instanceOf className;

Тут, якщо objectName є екземпляром className, оператор повертається true. В іншому випадку він повертається false.

Приклад: примірник Java

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

Вихідні дані

 name є екземпляром String: true obj є екземпляром Main: true

У наведеному вище прикладі ми створили ім’я змінної Stringтипу та об’єкт obj класу Main.

Тут ми використовували instanceofоператор, щоб перевірити, чи name та obj є екземплярами класу Stringта Main, відповідно. І, оператор повертається trueв обох випадках.

Примітка : У Java Stringце клас, а не примітивний тип даних. Щоб дізнатись більше, відвідайте Java String.

Екземпляр Java під час спадкування

Ми можемо використовувати instanceofоператор, щоб перевірити, чи об'єкти підкласу також є екземпляром суперкласу. Наприклад,

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

У наведеному вище прикладі ми створили підклас Dog, який успадковується від суперкласу Animal. Ми створили об’єкт d1 класу Dog.

Всередині заяви друку зверніть увагу на вираз,

 d1 instanceof Animal

Тут ми використовуємо instanceofоператор, щоб перевірити, чи d1 також є екземпляром суперкласу Animal.

Екземпляр Java в інтерфейсі

instanceofОператор також використовується , щоб перевірити , чи є об'єкт класу також є екземпляром інтерфейсу , реалізованого класом. Наприклад,

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

У наведеному вище прикладі клас Dog реалізує інтерфейс Animal. Всередині заяви друку зверніть увагу на вираз,

 d1 instanceof Animal

Тут d1 є екземпляром класу Dog. У instanceofоператор перевіряє , якщо d1 також є екземпляром інтерфейсу Animal.

Примітка : У Java всі класи успадковуються від Objectкласу. Отже, екземпляри всіх класів також є екземпляром Objectкласу.

У попередньому прикладі, якщо ми перевіримо,

 d1 instanceof Object

Результат буде true.

Цікаві статті...