Multiple Inheritance in java

前端 未结 8 1418
無奈伤痛
無奈伤痛 2020-11-27 21:27

Java is not allowing inheritance from multiple classes (still it allows inheritance from multiple interfaces.), I know it is very much inline with classic diamond problem. B

8条回答
  •  独厮守ぢ
    2020-11-27 21:39

    Simplicity. To quote Tom Sintes,

    The Java design team strove to make Java:

    • Simple, object oriented, and familiar
    • Robust and secure
    • Architecture neutral and portable
    • High performance
    • Interpreted, threaded, and dynamic

    The reasons for omitting multiple inheritance from the Java language mostly stem from the "simple, object oriented, and familiar" goal. As a simple language, Java's creators wanted a language that most developers could grasp without extensive training. To that end, they worked to make the language as similar to C++ as possible (familiar) without carrying over C++'s unnecessary complexity (simple).

    In the designers' opinion, multiple inheritance causes more problems and confusion than it solves. So they cut multiple inheritance from the language (just as they cut operator overloading). The designers' extensive C++ experience taught them that multiple inheritance just wasn't worth the headache.

提交回复
热议问题