Используя оператор instanceof или метод isInstance() класса Class.
Как определить, что класс является наследником другого класса?
Используя оператор instanceof или метод isInstance() класса Class.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используя оператор instanceof или метод isInstance() класса Class.
// Класс А
class A {
//...
}
// Класс B, наследующийся от А
class B extends A {
//...
}
// Создаем экземпляры
A instanceA = new A();
B instanceB = new B();
// Проверка с помощью instanceof
boolean isBInstanceOfA = instanceB instanceof A; // true
boolean isAInstanceOfB = instanceA instanceof B; // false
// Проверка с помощью isInstance()
boolean isBInstanceOfAByClass = A.class.isInstance(instanceB); // true
boolean isAInstanceOfBByClass = B.class.isInstance(instanceA); // false