书上说所有的类最终都是继承的Obiect,说这种单根继承有很多好处,我想知道有什么好处?其他的类都从Obiect那里继承到了什么?谢谢回答!!

解决方案 »

  1.   

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

  2.   

    好处很多,很大的一个好处就是可以根据公共父类引用子类对象,至于继承了什么,建议楼主参考JDK的object的说明
      

  3.   

    可以去我的BLOG看看,有详细的Object类的介绍哦
        http://blog.csdn.net/mailbomb
      

  4.   

    继承了11个方法,clone().toString(),wait()(有三个吧),notify(),hashCode(),equals()
    好处:
    1:多态,比如容器类,你可以添加任何类的对象进去,因为任何类都继承Object;
    楼下加
      

  5.   

    继承了Object的所有非私有东西
      

  6.   

    是啊平时用的最多的也就是equals 和 toString了吧
      

  7.   

    可以父类引用指向子类对象。如果不继承Object,jdk中的很多类或接口都很难写。具体继承了什么,你可以看jdk文档,看它有哪些非私有的方法
      

  8.   

    toString(),hashcode(),getClass(),clone(),equals()我觉得最有用的方法
      

  9.   

    equals()方法,toString()方法LZ没发现每个类都可以调用这两个方法的吗?