There are many different ways of implementing inheritance, not all of them necessarily desirable in the same language. Java follows after Smalltalk, which implemented only Single inheritance plus a form of "interface" inheritance. (In fact, Smalltalk's a bit complicated to explain in this way since it's an untyped language -- in effect you can send a message to any object and never get a compile time error -- because these are all trapped at runtime. However, the design principles are the same for Java and Smalltalk).
This is different from C++, Java's other "parent" as it were, which implemented multiple inheritance, but had no "interface" inheritance. CLOS had a third type of inheritance, called "delegation". In fact, there is no problem that you can't solve using any of the four languages. The designs may differ, but the outcome will be the same, even though it may take a tiny bit more work to accomplish it in one vs. the other.
Kyle
------------------
Kyle Brown,
Author of
Enterprise Java (tm) Programming with IBM Websphere See my homepage at
http://members.aol.com/kgb1001001 for other WebSphere information.