title: Java Multiple Inheritance
body: <p>In an attempt to fully understand how to solve Java's multiple inheritance problems I have a classic question that I need clarified.</p>
  
  <p>Lets say I have class <code>Animal</code> this has sub classes <code>Bird</code> and <code>Horse</code> and I need to make a class <code>Pegasus</code> that extends from <code>Bird</code> and <code>Horse</code> since <code>Pegasus</code> is both a bird and a horse.</p>
  
  <p>I think this is the classic diamond problem. From what I can understand the classic way to solve this is to make the <code>Animal</code>, <code>Bird</code> and <code>Horse</code> classes interfaces and implement <code>Pegasus</code> from them. </p>
  
  <p>I was wondering if there was another way to solve the problem in which I can still create objects for birds and horses. If there was a way to be able to create animals also that would be great but not necessary.</p>