Если я пытаюсь использовать оператор instanceof с неправильным классом, я получаю ошибку компиляции ( "Animal не может быть преобразован в String" ), но с интерфейсом я не получаю ошибку времени компиляции.
Например: В строке 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");
}
}
}