Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。由此你可以知道,它是没有多继承这个特点的。
但我们知道,其实C++中是支持多继承这个特性的,那么为什么Java不支持呢?
第一个原因:
下面会给出该问题的解答,其实这并不是一个技术上的问题,而是设计风格的问题,Java语言设计之初将其可维护性和设计的简洁性放在了很重要的地位,因而采取了单继承的策略。
第二个原因:
多继承使得系统设计很繁杂,而且在类型转换、链式构造函数等问题上代价很大;而且考虑到没有很多地方用到多继承,所以取消多继承的决定是为了语言的简洁性考虑的。
Java的特点里没有多继承,它是单继承的。因为多继承使得系统设计很繁杂,而且在类型转换、链式构造函数等问题上代价很大,而Java语言设计之初将其可维护性和设计的简洁性放在了很重要的地位,所以采取了单继承的策略。