Java:为什么我不能将它转换为Object?

jbu*_*jbu 2 java casting object

这很奇怪...我认为java中的每个对象都将Object作为祖先.

我有一个ClassA扩展我的ClassB和实现Runnable.

创建后ClassA我无法将其转换为Object.

假设getClassA返回一个ClassA实例.

我在做

Object obj = getClassA();
Run Code Online (Sandbox Code Playgroud)

我也试过了

Object obj = (Object) getClassA();
Run Code Online (Sandbox Code Playgroud)

我得到一个不兼容的类型编译错误:找到Class,required Object.

这有什么用?我认为所有对象都可以转换为Object.

编辑:我认为它与ClassA实现Runnable这一事实有关,但我不确定并需要解释.

Edit2:更改getClassA()以返回一个Object,允许程序进行编译.

Edit3:导入包含ClassB的包修复了问题.B类是在另一个罐子里定义的.ClassA在另一个引用包含ClassB的jar的jar中定义.

Pav*_*aev 6

您是否偶然Object在您的代码中有一个名为某个类的类(或者它导入的非标准包)?