Почему `instanceof` выдаёт ошибку, а не возвращает `false` при использовании для двух несовместимых классов? [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Почему `instanceof` выдаёт ошибку, а не возвращает `false` при использовании для двух несовместимых классов? [дубликат]

Сообщение Anonymous »


Я читаю это:
http://java.sun.com/docs/books/jls/ Third_edition/html/expressions.html#15.20.2

Они говорят:

Рассмотрим пример программы:

class Point { int x, y; } класс Element { intatomicNumber; } класс Тест { public static void main(String[] args) { Точка р = новая точка(); Элемент е = новый элемент(); if (e instanceof Point) { // ошибка времени компиляции System.out.println("Я понял вашу точку зрения!"); р = (Точка)е; // ошибка времени компиляции } } } Выражение instanceof неверно, поскольку ни один экземпляр Element или любой из его возможных подклассов (ни один из них здесь не показан) не может быть экземпляром какого-либо подкласса >Точка.

Почему это приводит к ошибке, а не просто к тому, что instanceof возвращает false?

Вернуться в «JAVA»