class Snow{};
class Powder extends Snow{};
class Light extends Powder{};
class Heavy extends Powder{};
class Crusty extends Snow{};
class Slush extends Snow{};
public static void main(String[] args) {
List<Snow> snow1=Arrays.asList(new Crusty(),new Slush(),new Powder(),new Heavy());//編譯通過,Crusty,Powder,Slush是Snow的直接子類
List<Snow> snow2=Arrays.asList(new Light(),new Heavy(),new Powder());//編譯不過,因為元素類型中只有Powder和子類,所以Lsit<Snow>需要修改為List<Powder>
//修改為
List<Snow> snow2=Arrays.asList(new Light(),new Heavy(),new Powder(),new Snow());//編譯通過
List<Powder> snow2=Arrays.asList(new Light(),new Heavy(),new Powder());//編譯通過
//Collections實現(xiàn)
List<Snow> snow3=new ArrayList<Snow>();
Collections.addAll(snow3, new Light(),new Heavy(),new Slush());//snow3指定了類型
}
}
List<Snow> snow2=Arrays.asList(new Light(),new Heavy(),new Powder());//編譯不過,因為元素類型中只有Powder和子類,所以Lsit<Snow>需要修改為List<Powder>這句話------為什么編譯不過,我這里可以編譯啊。。。 是jdk版本問題嗎。求解答。。
添加回答
舉報
0/150
提交
取消