Если я пытаюсь использовать оператор instanceof с неправильным классом, я получаю ошибку компиляции («Animal не может быть преобразован в String»), но с интерфейсом я не получаю ошибку времени компиляции.instanceof с интерфейсом
Для примера: В строке 10 я получаю ошибку компиляции, потому что Animal не является подклассом String. Но в строке 14 я не получаю компиляцию, даже если Animal не реализует интерфейс List.
class Animal {
}
public class InstanceOf {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Animal a = new Animal();
if (a instanceof String){ //line 10
System.out.println("True");
}
if (a instanceof List){ //line 14
System.out.println("True");
}
}
}
Пожалуйста, укажите точное сообщение об ошибке в вопросе. –
Рассмотрите это: 'class B extends Animal реализует List'. Теперь это: «Animal a = new B();' – njzk2
@Tunaki У вас также есть «Dupehammer®» - почему вы его не закрыли? (Вероятно: вы так же нерешительны, как я ...: - /) – Marco13