title: Why make Abstract classes and Interfaces?
body: <p>Well I was going to ask what the difference is but it's been answered before. But now I'm asking why did they make these differences? (I'm speaking about java here, I don't know if the same applies to other languages)</p>
  
  <p>The two things seem very similar. Abstract classes can define a method body whilst interfaces can't, but multiple interfaces can be inherited. So why didn't they (by 'they' I mean Sun when they wrote Java) make one thing where you can write a method body <strong>and</strong> this type can be inherited more than once by a class.</p>
  
  <p>Is there some advantage in not being able to write a method body, or extend multiple times that I'm not seeing?</p>