title: Why is List not simply defined as an abstract class rather than being an interface?
body: <p>We have something like </p>
  
  <pre><code>List lst = new LinkedList();
  </code></pre>
  
  <p>which shows that List is some sort of Class. So, why call it an Interface? We can simply call it an Abstract class which implements Collection.</p>