Authors: Ewan Tempero, Robert Biddle
Source: GZipped PostScript (71kb); Adobe PDF (318kb)
Multiple Inheritance is a feature whose worth has been vigorously debated, and even now there is no agreement as to whether a language should include it. As an example of this, Java does not have multiple inheritance. Java's designers claim that many of the benefits of multiple inheritance can be gained through the use of a new feature, the
In this paper we investigate the claims of the Java designers. We show the relationship between interfaces and multiple inheritance, which aspects of multiple inheritance can be achieved in Java, and which cannot. In particular, we show how the reusability of the Java Core API is adversely affected by the lack of multiple inheritance, and suggest a convention for Java class library designers that will mitigate this problem.