一般我们使用代码来接口:
List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
我们可以写出以下内容吗?
AbstractList<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
这种特殊初始化的缺点是什么?任何见解将不胜感激。
将列表定义为 anAbstractList会将您的实现与 的子类联系起来AbstractList,而使用该List接口允许您将该接口的list任意实现分配给变量。
定义列表 asAbstractList还可以让您访问(无需强制转换)AbstractList不属于List接口的方法,但使用它们会使您的代码不那么灵活。
如果你没有很好的理由去做,那就不要去做。
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |