Оператор экземпляра Java
Экземпляр оператора Java
В этом руководстве вы подробно узнаете об операторе instanceof в Java с помощью примеров.
instanceof
оператор в Java используется для проверки того, является ли объект экземпляром определенного класса или нет.
Его синтаксис
objectName instanceOf className;
Здесь, если objectName является экземпляром имя_класса , оператор возвращает 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 is an instance of String: true obj is an instance of Main: true
В приведенном выше примере мы создали переменную name. из String
тип и объект obj Главного класс.
Здесь мы использовали instanceof
оператор, чтобы проверить, является ли имя и объект являются экземплярами String
и Основной класса соответственно. И оператор возвращает 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 Собаки класс.
Внутри оператора печати обратите внимание на выражение
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
}
}
В приведенном выше примере Собака класс реализует Animal интерфейс. Внутри оператора печати обратите внимание на выражение
d1 instanceof Animal
Здесь d1 является экземпляром Dog учебный класс. instanceof
оператор проверяет, если d1 также является экземпляром интерфейса Animal .
Примечание :в Java все классы наследуются от Object
учебный класс. Итак, экземпляры всех классов также являются экземплярами Object
класс.
В предыдущем примере, если мы проверим,
d1 instanceof Object
Результат будет true
.
java