Subhendu Dash wrote:@Jelle Klap..But still Cat is a java class which also extends Object class..and in this case Animal class also..isn't it?
The term "multiple inheritance" refers to this:
not this:
Java supports the second, which does not conform to the definition of multiple inheritance. It does not support the first, which is what multiple inheritance means.
So, when you say, "Java doesn't support multiple inheritance, but then why does it allow Z to extend Y, X, and Object?" what you're really saying is, "Java doesn't support muliple inheritance, but why does it allow this thing which has nothing at all to do with multiple inheritance?"
Note that "Java does not support multiple inheritance" is not the same as "Java does not support anything which might be called 'multiple inheritance' by some non-standard definition of the term."