title: When defining 'Set set = new HashSet()', is set an instance of interface or class Set?
body: <p>In Java, 'Set' and 'List' are interfaces derived from 'Collection' interface.
  If we use the code:</p>
  
  <pre><code>import java.util.*;
  
  public class SetExample{
  
      public stactic void main(String[] args){
        Set set = new HashSet();
        //do something .....
      }
  
  }
  </code></pre>
  
  <p>Is there a class 'Set' in "Collection" API that we are creating an object ('set') of? or we are instantiating a interface 'Set'?</p>
  
  <p>Am really confused.......:O</p>