java中所有类默认隐式继承object类,编译器自动处理,无需显式声明;无论普通类、有父类的子类还是数组类型,均直接或间接继承object,从而可调用tostring()、equals()等方法。

Java 中 Object 类的隐式继承不需要你写任何代码,它由编译器自动完成。
当你定义一个类,但没写 extends 语句时,Java 就会悄悄把它当作 extends Object 处理。这个过程完全透明,你既看不到,也不用管——但它真实存在,且对所有类生效。
所有类都默认继承 Object,无论是否自定义、是否含字段或方法
- 普通类(如
Person、Book):没写extends,自动成为Object的直接子类 - 已有父类的类(如
Dog extends Animal):Animal继承Object,Dog间接继承Object - 数组类型(如
int[]、String[]):虽不是类,但 Java 特别规定它们也“继承”Object,能调用toString()、clone()等方法
为什么能直接用 toString()、equals()、hashCode()?
因为这些方法定义在 Object 中,通过继承关系“下传”到每个类。哪怕你什么都没重写,也能安全调用。
几个关键事实要记住
-
Object在java.lang包里,无需import - 它没有父类,是整个继承链的起点
- 每个类的构造器第一行,都会隐式插入
super();,即调用Object()构造方法 - 显式写
class A extends Object合法但多余,没人这么干
不复杂但容易忽略
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











