为什么Java让您强制转换为集合?

为什么Java让您强制转换为集合?,第1张

为什么Java让您强制转换为集合?

不是因为它们是集合类,而是因为它们是 接口

Foo
没有实现它们,但是可以实现它的子类。因此,这不是编译时错误,因为这些方法可能对子类有效。在
运行时 ,如果
this
不是实现这些接口的类,则自然是运行时错误。

如果更改

List<String>
ArrayList<String>
,则也会由于该
Foo
子类实现
List
,但不能扩展
ArrayList
(因为不能扩展
Foo
),因此也会出现编译时错误。同样,如果您使用make
Foo
final
,则编译器将为您的接口类型转换给您一个错误,因为它知道它们永远不可能是真实的(因为
Foo
不能有子类,并且不能实现这些接口)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5142509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存