4 java inheritance class object
所有类都继承自java.lang.Object
,但extends Object
(通常)不会在任何地方写出来.这怎么可能?
小智 23
如果你没有显式编写extends Object
,编译器会为你做.因此,知道一个类只能扩展一个超类,编译器将查看层次结构并将最高的超类扩展为Object
.所以每个类都会直接或间接继承Object
该类.
Object
然而,这个类是一个特例,因为它没有任何扩展.
最后,如果您要编译一个简单的类并对其进行反编译,您将看到编译器将扩展
java.lang.Object
(或等效的字节码)插入到类中
该Object
隐含直接/间接超类中的所有类.
定义:从另一个类派生的类称为子类(也是派生类,扩展类或子类).派生子类的类称为超类(也是基类或父类).
Excepting Object,没有超类,每个类都有一个且只有一个直接超类(单继承).在没有任何其他显式超类的情况下,每个类都隐式地是Object的子类.