java.lang包中的类System类为何没有在源码中继承Object

Object类是所有类的父类
图片说明
为何源码中没有出现extends Object的语句
图片说明

3个回答

任何类都继承Object,不需要写。好比你写一个class A { ... },没有extends Object,其实还是从Object派生。

顺便说下ls那个问题,如果你从某个类派生,那么java编译器不会让它直接继承Object,但是因为那个类(直接或者间接)派生自Object,所以还是派生自Object,Java不允许多继承不是多次继承,而是每个类只能有一个直接的父类。

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复u010999809: 解释一个事物有两个办法,一个是从动机的角度出发,这适合解释人造的事物,一个是从构造的角度出发,这个适合解释天然的事物。java语言是人造的,规则是人定的,编译器是人写的,“做了手脚”才是结论,为什么要这么设计才是原因。
2 年多之前 回复
u010999809
罗小树 感觉你的解答,就是在宣布结论,并没有回答原因。那请问为什么没加extends Object却实际上继承了Object?你并没有给出理由
2 年多之前 回复

源码中确实是没有显式继承,但是在编译过程中java编译器作了手脚。
这个回答或许能够解决你的疑问,https://zhidao.baidu.com/question/95244287.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问