我正在阅读Java继承文档并得到了这一段,但我不是这个意思。任何机构都能解释一下吗?
Excepting Object,没有超类,每个类都有一个和 只有一个直接超类(单继承)。在没有任何 其他显式超类,每个类都隐式地是一个子类 对象
被修改
与此问题相关的另一点:
由于Object是超类,当我尝试使用对象引用调用任何类的成员时,NetBeans会向我显示额外的方法列表?所有这些方法都在Object类中声明?
答案 0 :(得分:1)
这意味着,在java中,Object类是默认情况下所有类的父类。换句话说,它是java的最顶级类或基类。所有其他类都继承Object类的属性。
答案 1 :(得分:0)
这意味着以下两个类是相同的:
class MyClass {
}
class MyClass extends Object {
}
如果类定义未指定extends
,则该类隐式扩展Object
。
答案 2 :(得分:0)
暗示含义 - 的含义虽然没有直接表达。
如果在Java类中应用了同样的东西。考虑有一个名为Test
的类。
如果你写
public class Test {....}
这相当于
public class Test extends Object {....}
虽然你没有写它,但它等同于它。您无需手动编写扩展Object
。内部JVM会将您的类扩展为Object
。由于扩展后的部分是您的类,因此Object
是您的超类。
但是,
写作时
public class Test extends BigTest{....}
现在情况发生了变化。你告诉BigTest
是我的父类。这意味着你暗中写道BigTest
是我的父母。这里有趣的部分是BigTest是您的直接Parent
课程,内部Object
也是您的Parent
。
所以现在你有2个父类。一个是你提到的BigTest
,另一个是Object。如果您没有提及任何内容,则只有Object
是您的父母。
修改:
当您尝试使用object-reference调用任何类的成员时,这将是您将看到额外的方法列表的原因。这些方法在Object类中声明。
为什么java会这样做?这有什么特点?
是。它有好处。主要原因是减少代码重复。
继续阅读.... Why Object as super class in Java ?
答案 3 :(得分:0)
Object
类附带JRE,你使用没有它的任何类。 Java这样做,所以你可以引用任何对象,例如
Object o = x;
这是有效的,因为无论x
是什么,它都是一个对象。
注意:即使int[]
类是Object
的子类。