The reason Java doesnt allow multiple inheritance is that there can be some ambiguity if not carefully designed. If C inherits from class A and B and both these classes implement method Q, then which method does C.Q call? Of course, some languages have solved this sucessfully.
Java supports solving problems, commonly designed for multiple inheritance, in other ways. Rather than typing a lengthy thing out here, have a look at this webpage
http://pclc.pace.edu/~bergin/patterns/multipleinheritance.html - at a short scan it might be helpful to you.
A personal note on OO design. Inheritance is very statically determined - if A inherits from B which inherits from C this is difficult (impossible?) to modify at runtime [dynamically] elegantly.
Nick