title: Abstract classes and Multiple Inheritance
body: <p>We can achieve the same functionality as interfaces by using abstract classes, So why java doesn't allow the following code?</p>
  
  <pre><code>abstract class Animals
  {
      public abstract void run();
  }
  
  abstract class Animals1
  {
      public abstract void run1();
  }
  
  class Dog extends Animals,Animals1
  {
    public void run() {System.out.println("Run method");}
    public void run1() {System.out.println("Run1 method");}
  }
  </code></pre>
  
  <p>I know that multiple inheritance can be achieved by using only interfaces but the above code does the same thing as the interfaces would have done it.</p>