关于Interface是否继承了Object类

Wrong_config 2017-08-09 07:04:44
本人遇到很多人在纠结:“接口到底是不是Object的子类”这个问题,导致自己也在被误导进一个误区。

都说Object是一个类,明明是个抽象类怎么可能被Interface继承???

我从网上找了个帖子,并进行了验证:

//接口到底是不是Object的子类
interface MyInterface{
public void show();
}

public class InterfaceExtendsObject {
public static void main(String[] args) {
new MyInterface(){
public void show(){

}
}.toString(); //如果不是,为什么接口可以用object类的方法?
}
}

发现这段代码并没有问题,也就是说Interface的确继承了一个有.toString()方法的“东东”
这让我越来越怀疑Object到底是个抽象类 还是一个Interface!!!!
于是我默默的敲出Object,想进入其定义查看究竟。却在中途找到了答案。
除了发现了一个Object的抽象类,我还发现在
import org.omg.CORBA.Object;
这个org包里还有个Object的Interface!!!!!

所以说:所有的Interface继承了Object类这句话是不对的,应该说是所有的Interface继承了Object接口。
如果不细查这里面的原因估计是个java的老学究也会跳进这个坑里,愿以自己的实战经历,给后来的新手们解惑。非常欢迎到访者指出文章中的错误的知识点和观点。
...全文
216 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Giberson1 2017-08-09
  • 打赏
  • 举报
回复
接口是一个特殊的类,可以把他理解成抽象类的高级形式。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧