Multiple inheritance create a dimond problem (conflict sit.) to avoide this it requires complex logic which is provided by c++. But java avoides this complexity by skiping the multiple inheritance and providing the new solution of interface to achived multiple inheritance...

Now class D will inherit the members of B as well as C but B contains A's members and C too. Now how will D recognise from whome it should inherit the members of A??? The compiler has to maintain this complex relation by creating some complex logic still it's not guranted to eliminate conflict sit.

To reduce this burdon java avoides the multiple inheritance. But surely u can achive same kind of effect by interface!!!

I think that's not so much "why" but "what happens as a result" of single inheritance. That statement may not be true with other OO languages.

Simplicity was high on the language designer's list of priorities, and they just decided that multiple inheritance was too complex for the developer and the JVM builder. Some folks who grew up with other langauges that have multiple inheritance are disappointed, but it's never bothered me a bit.

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi