每个类如何继承Object类?

时间:2011-12-26 05:20:26

标签: java inheritance

为什么Java中的每个类都继承自名为java.lang.Object的类,即使我们没有明确地extend它?

幕后发生了什么?

3 个答案:

答案 0 :(得分:1)

Java平台中的所有类都是Object的后代。 Object类没有超类,每个类都有一个且只有一个直接超类(单继承)。在没有任何其他显式超类的情况下,每个类都隐式地是Object的子类。

请参阅javadoc

答案 1 :(得分:1)

这是Java制造商的一个设计决定,回到了时间的迷雾中。我相信它是这样的,每个对象都带有一些基本方法(hashCode,equals,wait,notify)的实现,而不必专门编写它们。这有很多好处 - 具有hashCode和equals的实现使得像Sets和HashMaps这样的东西很好地工作;拥有通知和等待的实现使得多线程编程变得更加容易。

至于幕后发生的事情 - 好吧,我想你需要查看编译器或JVM的源代码。但是,真的没什么意义。大多数Java开发人员都对每个对象都是对象这一事实感到满意 - 这是使Java成为现实的东西之一。

答案 2 :(得分:0)

好吧,因为每个班级都来自对象。这是多余的。