использование:
(переменная типа экземпляр класса | интерфейс)
эффект:
Оператор экземпляра используется для определения того, является ли предыдущий объект экземпляром следующего класса, его подкласса или класса реализации. Если да, верните true; в противном случае верните false.
Уведомление:
・Тип операнда перед экземпляром экземпляра во время компиляции либо такой же, как у следующего класса, либо имеет отношения наследования родитель-потомок со следующим классом, в противном случае произойдет ошибка компиляции.
Простой пример:
Скопируйте код кода следующим образом:
/**
* оператор экземпляра
* @author Администратор
*
*/
общественный класс TestInstanceof {
public static void main(String[] args) {
//Используйте класс Object при объявлении приветствия, тогда скомпилированный тип приветствия — Object
//Класс объекта является родительским классом для всех классов, но фактический тип приветствия — String
Объект hello = "Привет";
//String является подклассом Object и может выполнять операцию экземпляра и возвращать true
System.out.println("Является ли строка экземпляром класса объекта:"
+ (привет, экземпляр объекта));
//истинный
System.out.println("Является ли строка экземпляром String:"
+ (привет, экземпляр String));
//ЛОЖЬ
System.out.println("Является ли строка экземпляром класса Math:"
+ (привет, экземпляр Math));
//String реализует интерфейс Comparable, поэтому возвращает true
System.out.println("Является ли строка экземпляром класса Comparable:"
+(привет, экземпляр Comparable));
/**
* String не является ни классом Math, ни родительским классом класса Math, поэтому следующий код компилируется неправильно.
*/
//Строка a = "привет";
//System.out.println("Является ли строка экземпляром класса Math:"
// + (экземпляр Math));
}
}
Результаты запуска:
Скопируйте код кода следующим образом:
Является ли строка экземпляром класса объекта: true
Является ли строка экземпляром String: true
Является ли строка экземпляром класса Math: false
Является ли строка экземпляром класса Comparable: true
Обычно перед выполнением принудительного преобразования типов сначала определяется, является ли предыдущий объект экземпляром последнего объекта и может ли преобразование быть успешным, тем самым обеспечивая надежность кода.