昨天我带的一个同事问我List 为什么可以实例化ArrayList,刚开始一下萌了(带了快 2个月了)
比如List list = new ArrayList();
List 是一个接口, 接口使用的使用不能实例化自己,
也就是我们没有见过List list = new List(); ,这个为啥不能呢,因为他不是一个类啊,在这说了语法上也不能这样写啊,写了肯定报错啊, 为啥可能实例化ArrayList 呢, 因为ArrayList 是一个类啊,还有就是它实现了List这个接口了,
可以看下源码呢
List 的

ArrayList的

说到这里看他似乎明白了点,我写了一个例子如下

写一个接口如下

public interface MyList {void test();
}

在写一个类实现这个接口如下

public class MyClass implements MyList {@Overridepublic void test() {}}

在使用的地方写法如下

 MyList myList = new MyClass();myList.test();

这个就是我们常见的List list = new ArrayList();
当然我们如果只是使用上面类MyClass里面的方法可以

   MyClass myClass = new MyClass();myClass.test();

这个也就是我们常见的
ArrayList list = new ArrayList();
它们2个区别但是我没说,不过今天我也总结了下
下篇博客在说吧.

List 为什么可以实例化ArrayList相关推荐

  1. Java List与ArrayList 的区别(List list =new Arraylist(); ArrayList<String> arrayList = new ArrayList())

    一般想知道List 与ArrayList 的区别可能大部分都是看到了 List list = new ArrayList(); 和 ArrayList arrayList = new ArrayLis ...

  2. 【java】兴唐第二十节课(Collection 和 ArrayList)

    (一)Collection 1.如果实现 --able 名称的接口则证明该类或其子类有该功能 (1)实现Iterable接口代表具有迭代功能 (2)实现Cloneable接口代表具有克隆功能 (3)实 ...

  3. java arraylist 对象 删除_如何从Java中的ArrayList对象中删除冗余元素?

    接口集不允许重复的元素.茶add() 此接口的方法接受元素并添加到Set对象,如果添加成功,则如果您尝试使用此方法添加现有元素,则返回true,添加操作将返回false. 因此,要删除ArrayLis ...

  4. java class类型参数_使用Class对象实例化Java类型参数/ generic

    如何实例化Java泛型对象,该对象仅接受类或参数给出的类型参数宾语? 例如: 通常,可以使用以下语法实例化Integer对象的ArrayList: ArrayList foo = new ArrayL ...

  5. 动态数组相关操作 0104 ArrayList

    动态数组相关操作 0104 引入命名空间 using System.Collections; 实例化一个动态数组 类名称:ArrayList 基本的实例化 ArrayList 数组名= new Arr ...

  6. ArrayList的容量与长度

    ArrayList有一个有参构造方法 public ArrayList(int initialCapacity) {if (initialCapacity > 0) {this.elementD ...

  7. java-集合框架库-ArrayList

    目录 1方法 2源码实现 2.1继承关系 2.2构造函数 2.3属性信息 2.4默认值或默认属性 2.5底层数据结构 2.6扩容机制 2.7常用方法研究 2.7.1add() 2.7.2get(int ...

  8. 【数据结构】ArrayList的具体使用(杨辉三角、扑克牌游戏)

    目录 1.了解集合的框架 2.了解ArrayList类 2.1.认识ArrayList类当中的属性 2.1.认识ArrayList类库当中的方法 2.1.1.了解构造方法 2.2.ArrayList类 ...

  9. java无法实例化类型_关于java:无法实例化类型List

    本问题已经有最佳答案,请猛点这里访问. 我有以下代码: List product = new List(); 错误: Cannot instantiate the type List Product是 ...

最新文章

  1. 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
  2. 分布式文件系统FastDFS架构剖析
  3. java 内存 开发 经验_有一到五年开发经验的JAVA程序员需要掌握的知识与技能!...
  4. linux文件传输到另一台linux,使用scp将文件/目录拷贝到另一台Linux主机上
  5. Activiti 5.3:子流程(subProcess)
  6. 面试官问我:如何在 Python 中解析和修改 XML
  7. linux svn 拉取代码_svn快速入门指南
  8. Java 内存模型(零)
  9. 加速Qt在线更新--使用traefik-1.7.24(不支持traefik-2.0以上版本
  10. 程序员,这个双十一,对自己好一点…
  11. 中国FreeType联盟的几项工作
  12. 【Python】字符串的一些操作
  13. bios还原默认设置
  14. linux能不能装小狼毫输入法,小狼毫输入法如何设置?
  15. 第五十三篇 三角函数公式大全
  16. 扫地机器人单扫和双扫_扫地机器人初体验 懒人神器还是逗猫的塑料玩具
  17. python怎样查找收盘价_如何在Python中从晨星获得调整后的收盘价?
  18. 自己写的一点福利代码(四)
  19. m73p黑苹果_M93P一次性拔草小主机,黑苹果,软路由。
  20. IOS NDDictionary使用中value遇到no summary如何判断为NULL

热门文章

  1. 2022-2028年中国柴油行业市场研究及前瞻分析报告
  2. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
  3. 【C#】枚举_结构体_数组
  4. events.out.tfevents文件
  5. 解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position错误
  6. Windows10+anaconda,python3.5, 安装glove-python
  7. Python机器学习——Agglomerative层次聚类
  8. Java单例模式个人总结(实例变量和类变量)
  9. 4D毫米波雷达Radar
  10. 自动驾驶仿真分析,提高研发效率