java中接口与Object的关系

xiangshan1234 xiangshan1234 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public class Test{
public static void main(String[] args) {
A a = new C();
B b = new B();
Test test =(Test) a;
//Test test1 = (Test) b;
Object object = a;
}
}
/**
* 定义接口A
*/
interface A{
public int f();
}
/**
*类B
*/
class B{

}
/**
*类c继承了接口A
*/
class C implements A{

@Override
public int f() {
// TODO Auto-generated method stub
return 0;
}

}
问题一:
为什么Object object = a;是正确的?
a声明的是接口,接口类型能上转型成Object类型吗?接口是Object的子类吗?

问题二:
Test test =(Test) a;
Test test1 = (Test) b;
为什么第一句没错,而第二句会出错呢?两句有什么区别吗?
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
xiangshan1234
Java SE 62,620 成员 307,251 内容