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

为什么总是使用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获得更快的查询速度。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,932评论 1 14
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,805评论 18 399
  • 最近搜了一下抑郁症的测试。测试结果17-20分是轻度抑郁,我的分数是19。分数不低,虽然不知道那份测试是否适用于我...
    深海石头阅读 2,463评论 6 0
  • offer于今晚基本敲定,公司是想去的公司,定级及薪资还不错,准备踏上新的征程。 前前后后面了五轮,每轮平均1小时...
    iamxy阅读 2,350评论 0 0
  • 你不靠谱我,又想跟我做朋友 你是不是在做梦 这是一个势利又公平的时代 我不是人民币,不可能人人都喜欢,但是你又不欣...
    Jenny王姑娘阅读 1,823评论 0 3

友情链接更多精彩内容