Diberikan kode berikut:
public class Test{
static class Bird{}
static class Sparrow extends Bird{}
public static void main(String args[]){
List<? extends Bird> list = new ArrayList<Bird>();
list.add(new Bird()); //Does not compile ...line 1
list.add(new Sparrow());//Does not compile ...line 2
}
}
Adakah yang bisa menjelaskan mengapa saya tidak dapat menambahkan objek new Bird()
dan objek new Sparrow()
ke dalam daftar? Saya mengharapkan baris 1 dan baris 2 untuk dikompilasi karena kelas Sparrow
adalah subkelas dari Bird
, dan Bird
adalah kelas itu sendiri.