I've got the next
public interface MyInterface{}
public class ClassA implements MyInterface(){}
public class ClassB extends ClassA{}
In theory, the valid references types for an object B are the following:
MyInterface myIn = new ClassB();
ClassA o1 = new ClassB();
ClassB o2 = new ClassB(); 
Object o3 = new ClassB(); 
If I try to do something like this ...
List<MyInterface> o1 = new ArrayList<ClassB>(); 
I get a compilance error. Any idea?
 
     
    