+ 2
Multiple inheritance does exist in Java!
However not for classes but for interfaces. I just came across a challenge where it asks me this and wanted to inform others that the answer that Java doesn't allow multiple inheritance is NOT CORRECT in all cases. As I said, multiple inheritance of classes is forbidden due to the "diamond problem" (http://www.journaldev.com/1775/multiple-inheritance-in-java), but it does support multiple inheritance (with interfaces though).
3 Réponses
+ 1
Thats not inheritance just extension of interfaces.
0
@Szabó Gábor, according to the following definition, that IS inheritance:
"In object-oriented programming, inheritance is when an object or class is based on another object (prototypal inheritance) or class (class-based inheritance), using the same implementation (inheriting from an object or class: inheriting behavior, programming by difference[1]) or specifying a new implementation to maintain the same behavior (realizing an interface). "
Source: https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
0
@Tahn Le
Interfaces doesn't contains implementations, just definitions.
From Java 8 They can contain implementation by the default keyword, but then you can't extends interfaces what contains different implementations.
So multiple inheritance doesn't exist in Java !
I made a code for demonstrate:
https://code.sololearn.com/cpZyo9CZLzU5/#java
Think interfaces methods like a set, if you extend more interface, the set can extend too, but if they contains a same method the set doesn't extend.
Extend interfaces like make a bigger interface that contains all of the method what the others contain.