java的单继承问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:02:07
我是初学者``这几天看了JAVA的视屏教程``上面说``java是单继承的```这句话是对的么?从理论上说``应该是双继承啊!!
我的意思是````Object是所有的父类``所有的类继承了Object类``而且我们还可以在继承一个其他类````这样岂不是和单继承的理论矛盾啦``

从理论上说``应该是双继承啊!!

你从哪个理论上说是这样的呢?

java不支持多继承,因为从编程的复杂度来讲,多继承会提高程序的耦合性,而且程序的易用性也有影响。

java提倡没有污染的扩展,就是类与类之间继承关系尽量少,而采用一种面向接口编程的方式。

所以,java里允许实现多个接口,这样满足了面向对象在多继承上的需求。

接口是一个只有空实现的方法的结构。这样编程,类之间的关系会更明了。

这样跟你解释吧。
首先你得明白在java中,类是单继承的。你有这样的疑惑主要是因为你没有明白下面这一点:就是 在java中Object类是所有java类的父类,但是 当一个java类 ClassA继承了另外一个java类ClassB时,那么ClassA就不再直接继承Object类了,而是间接的继承了Object类,此时Object类叫做ClassA类的超父类;因为ClassA继承了ClassB,而ClassB没有继承其他的java类(所以此时Object类是ClassB类的直接父类,这是系统默认的),由于在java中继承是可以被传递的,所以此时ClassA也间接继承了Object类,也同样可以使用Object类中定义的方法。
这就好比,对于每一个java类,java系统都会为其提供一个默认的无参构造器,但 当你手动的写了一个构造器时,那么java系统就会自动收回这个无参构造器;此时 当你想使用这个java类的无参构造器时,就必须手动写上一个无参构造器。
希望我讲的你可以明白~

单继承,多实现