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