Simulating Multiple Inheritance and Generics in Java
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idioms used by the Java designers and programmers to redeem their benefits. The paper also discusses an alternative to multiple inheritance, as incorporated in Lava, which extends Java with constructs for type-safe automatic forwarding.
& Hampapuram, H.
(1999). Simulating Multiple Inheritance and Generics in Java. Computer Languages, 25 (4), 189-210.