Это странно ... Я думал, что каждый объект в Java имел Объект в качестве предка.
У меня есть ClassA
, который расширяет мой ClassB
и реализует Runnable
.
После создания ClassA
я не могу привести его к Object
.
Предположим, getClassA
возвращает экземпляр ClassA
.
Я делаю
Object obj = getClassA();
Я тоже пытался
Object obj = (Object) getClassA();
Я получаю ошибку компиляции несовместимых типов: найден класс, требуется объект.
Что за дело с этим? Я думал, что все объекты можно привести к объекту.
Редактировать: Я предполагаю, что это как-то связано с тем, что ClassA реализует Runnable, но я не уверен и нуждаюсь в объяснении.
Edit2: изменение getClassA () для возврата объекта позволяет программе компилироваться.
Edit3: импорт пакета, содержащего ClassB, устранил проблему. Класс B был определен в другой банке. ClassA был определен в другой банке, которая ссылалась на банку, содержащую ClassB.