接口继承自Object

wwwrrrmmm 2017-03-06 03:13:47
某朋友说java接口也是继承自Object..我瞬间反驳,接口只能继承接口,不能继承类,所以说接口继承自Object是错误的。
并举例interface A extends Object有编译错误。

这时候他说,他的意思并不是可以直接写接口继承自Object, 他的意思是,JAVA内部,底层实现了接口继承自Object。
他的原话是,“所有类,包括接口,都是继承自Object”, 大家说说,这话对吗

我本着好学的精神在这里问一下,真的是这样子么?我读的书不多,是不是他说错了我不知道?

这里顺便吹一下别的。
依稀记得当年学JAVA有这么两句话,
1,接口也是类
2,所有类都继承自Object
本着数学逻辑思维原理,由上面两句话推出接口继承自Object,似乎这里又有点谬论了。
...全文
630 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tengfeixiaoao 2018-03-16
  • 打赏
  • 举报
回复

看编译后的class文件的父类索引,接口继承了object类
wwwrrrmmm 2017-03-08
  • 打赏
  • 举报
回复
引用 2 楼 zssazrael 的回复:
从语义上 interface 的确不能 extend Object, 但是 interface 不是一个完整的类,要用到这个 interface,必须有一个 class 来实现 interface,而 class 的父类都是 Object。 而且每个类、抽象类、接口等都有一个 Class 对象,Class 类的父类也是 Object。
我明白你说的。这个class对象只是接口自带的一个属性,所以可以说“接口也是类”,它根类一样有这样的属性。 但是另一句话“接口跟类都继承Object”,这句话应该就是错误的。因为接口只能继承接口,不能继承类。Object是顶层的父类。 象这样子,我可以定义无数多的Object在接口里面,但是改变不了接口不继承Object这个事实。 public interface InterfaceA { String str = "string"; public void func(); }
墨笙弘一 2017-03-07
  • 打赏
  • 举报
回复
接口不是特殊的抽象类吗
幽饮烛 2017-03-07
  • 打赏
  • 举报
回复
从语义上 interface 的确不能 extend Object, 但是 interface 不是一个完整的类,要用到这个 interface,必须有一个 class 来实现 interface,而 class 的父类都是 Object。 而且每个类、抽象类、接口等都有一个 Class 对象,Class 类的父类也是 Object。
自由自在_Yu 2017-03-07
  • 打赏
  • 举报
回复
只是听到的都是接口可以“理解为”特殊的类,实际上接口不是类,interface和class是同级的关系。 Object 是所有类的父类。 这样看来接口和Object没有直接关系的。 从JAVA数据类型分类: 1. 基本数据类型 不牵扯内存分配问题。一共分为八种,分别是byte、short、int、long、float、double、char、boolean。默认值如图所示: 2. 引用数据类型 需要开发者为其分配空间。一共分为三种,分别是数组、类、接口。 所以:interface和class是同级的关系

62,634

社区成员

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

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