今天看了下,java性能优化 这书,里面讲到垃圾回收机制GC的地方,提到了Object
原文讲到:
一个java类(除Object类外),至少有一个父类(Object) 这是规则既是强制的,也是隐式的!于是我想到一个问题,创建一个类A,虽然我没有明确用extends 来继承Object,但实际上已经隐式继承了Object,
现在问题来了,大家都知道java是不允许多继承的,这不就矛盾了吗,如果我A还继承另外一个B类,
那么这样不就两次继承了么,呵呵今天看到这有点疑问,所以贴出来希望能得到好的解释~~~~~~
猜测:JAVA单一继承,是否指除开Object的隐式继承还允许在继承一个.求答案求真相!
public class A{}等同于public class A extends Object{}

解决方案 »

  1.   

    A不继承任何类就默认继承Object,如果继承了别的类就不继承Object,他的父类会继承Object的。
    猜测的,等待高手回答。
      

  2.   

    大家都知道java是不允许多继承的 
    这句说的不够严谨改为:
    除接口外允许多继承类不允许多继承
      

  3.   

    A继承B,B继承Object,当然A也是Object的子类,A也会继承Object里面的方法。不能多继承是说不能A继承B,A又同时extends C,这样子是不行的。
      

  4.   

    单继承是指只能有一个直接父类;另外所有类都必须继承自Object,但并没有说必须直接继承自Object。A继承自B,B隐式继承Object,则A间接继承了Object。这没有任何问题啊,又跟前面那两个说法没任何冲突啊。你去看一下C++的多继承,就知道Java为什么叫单继承了,这里的单跟多都是指的直接父类。
      

  5.   

    A是B的子类,而B是Object的子类,A没有继承Object类,而是继承了B类,
    之所以A类具有Object类的某些方法,都是继承自B类来的