Java疑惑1-为什么总是使用接口来定义容器类对象

2018-07-27  本文已影响0人  shaYanL

为什么总是使用List<A> a = new ArrayList<A>()来定义容器类对象

为什么总是使用如下形式来定义容器类对象

List<A> a = new ArrayList<A>()

而不是具体的容器类型:

ArrayList<A> a = new ArrayList<A>()

这样做的目的:
这里总是使用接口List来持有精确的ArrayList类型,是为了方便之后修改 持有对象a的类型。在保持编码逻辑不变的情况之下,只需要改变定义的代码就可以改变a的类型:如下就把ArrayList变更为LinkedList:

List<A> a = new LinkedList<A>()

这里更改类型有什么好处呢?
这样就使得a能更快的插入和删除其持有对象;同理若把LinkedList改为ArrayList,就能让a获得更快的查询速度。

上一篇下一篇

猜你喜欢

热点阅读