你又谦虚了的图片:请JAVA高手帮忙回答一下

来源:百度文库 编辑:高考问答 时间:2024/05/11 01:13:42
我看书里写到:java里的Object类是所有类的父类.可是我不理解这个Object它凭什么就是所有的父类?
它究竟有什么功能呢?我们生成一个Object类的类对象究竟是做什么用的呢?

1.8.2 单根继承结构
在 OOP 中有一个议题,自 C++面世以来变得非常瞩目,那就是是否所有的类最终都继承自单一的基类。在 Java 中(事实上还包括除 C++以外的所有 OOP 语言)的答案是yes,这个终极基类的名字为 Object。事实证明,单根继承结构带来了很多好处。
在单根继承结构中的所有对象都具有一个共用接口,所以它们归根到底都是相同的基本类型。另一种(C++所提供的)是你无法确保所有对象都属于同一个基本类型。从向后兼容的角度看,这么做能够更好地适应 C 模型,而且受限较少,但是当你要进行完全的面向对象程序设计时,你必须都要构建自己的继承体系,使得它可以提供其他 OOP 语言内置的便利。并且在你获得的任何新类库中,总会用到一些不兼容的接口,你需要花费力气(并有可能要通过多重继承)来使得新接口融入你的设计之中。这么做以换取 C++额外的灵活性是否值得呢?如果你需要的话——你在 C 上面投资巨大——那这么做就很有价值。如果你刚刚从头开始,那么像 Java 这样的选择通常会更高效高产。
单根继承结构(例如 Java 所提供的)保证所有对象都具备某些功能。因此你了解在你的系统中你可以在每个对象上都可以执行的某些基本操作。单根继承结构以及在堆上创建所有对象,极大地简化了参数传递(这在 C++中是十分复杂的话题之一)。
单根继承结构使垃圾回收器(内置于 Java 中)的实现变得容易得多。其必需的支持功能可置于基类中,这样,垃圾回收器就可以发送恰当的消息给系统中的每一个对象。如果没有单根继承结构以及通过引用来操作对象的系统特性,要实现垃圾回收器非常困难。由于所有对象都保证具有运行时刻类型信息(run time type information),因此你不会因无法确定对象的类型而陷入僵局。这对异常处理这样的系统级操作显得尤其重要,并且给编程带来了更大的灵活性。

-----thinking in java 3th