【发布时间】:2023-03-10 11:01:01
【问题描述】:
在这本书中,它说:
Arrays.asList() 的一个限制是它需要对 List 的结果类型,并不关注你的 正在分配给它。
这本书是Thinking in Java By Bruce Eckel
但是,以下代码工作正常,与本书第 280 页中显示的代码相反
public class Main{
public static void main(String[] args) {
List<Snow> snow = Arrays.asList(new Light(), new Heavy());
}
}
class Snow {}
class Powder extends Snow {}
class Light extends Powder {}
class Heavy extends Powder {}
感谢任何想法。
【问题讨论】:
-
Powder、Light、Heavy 类获取 Snow 类的属性然后显然可以正常工作
-
两件事:第一,你得到的东西至少符合
List接口,所以那里没有问题,第二,你认为问题是什么?这里没有什么可以立即跳出来,这显然是大错特错...... -
@Makoto 抱歉,我更新了问题。
-
@KevinEsche 抱歉,我更新了问题。
-
@Ajinkya 抱歉,我更新了问题。
标签: java inheritance type-inference