为什么Java中不支持多重继承?
多重继承是从哪里来的?C++
- C++有多重继承,可以继承很多类,但是C++没有接口
- Java没有多重继承,但是java有继承 + 接口
Java 只能继承一个类,因为Java是面向对象语言,一个类可继承的属性不应该来自多个类,继承是类与类的关系,在Java中是对本身更高层次的抽象,而不是更多层次的抽象,不是人丶猫丶狗这样去抽象,而是人丶动物这样的抽象方式
- 所以Java的思想就不支持多重继承,但是支持对象的扩展,也就是接口
- 多重继承既可以实现更高层次的抽象又可以实现多次层次的扩展
- Java中不支持多重继承也是因为
- Java有单一继承这样的更高层次的抽象
- 也有实现多个接口这样的更多层次的扩展方式
- Java完成了多重继承这样的功能,只不过使用接口和继承共同实现的
- Java的面向对象思维把多重继承划分的更加对象化