List 为什么可以实例化ArrayList
昨天我带的一个同事问我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相关推荐
- Java List与ArrayList 的区别(List list =new Arraylist(); ArrayList<String> arrayList = new ArrayList())
一般想知道List 与ArrayList 的区别可能大部分都是看到了 List list = new ArrayList(); 和 ArrayList arrayList = new ArrayLis ...
- 【java】兴唐第二十节课(Collection 和 ArrayList)
(一)Collection 1.如果实现 --able 名称的接口则证明该类或其子类有该功能 (1)实现Iterable接口代表具有迭代功能 (2)实现Cloneable接口代表具有克隆功能 (3)实 ...
- java arraylist 对象 删除_如何从Java中的ArrayList对象中删除冗余元素?
接口集不允许重复的元素.茶add() 此接口的方法接受元素并添加到Set对象,如果添加成功,则如果您尝试使用此方法添加现有元素,则返回true,添加操作将返回false. 因此,要删除ArrayLis ...
- java class类型参数_使用Class对象实例化Java类型参数/ generic
如何实例化Java泛型对象,该对象仅接受类或参数给出的类型参数宾语? 例如: 通常,可以使用以下语法实例化Integer对象的ArrayList: ArrayList foo = new ArrayL ...
- 动态数组相关操作 0104 ArrayList
动态数组相关操作 0104 引入命名空间 using System.Collections; 实例化一个动态数组 类名称:ArrayList 基本的实例化 ArrayList 数组名= new Arr ...
- ArrayList的容量与长度
ArrayList有一个有参构造方法 public ArrayList(int initialCapacity) {if (initialCapacity > 0) {this.elementD ...
- 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 ...
- 【数据结构】ArrayList的具体使用(杨辉三角、扑克牌游戏)
目录 1.了解集合的框架 2.了解ArrayList类 2.1.认识ArrayList类当中的属性 2.1.认识ArrayList类库当中的方法 2.1.1.了解构造方法 2.2.ArrayList类 ...
- java无法实例化类型_关于java:无法实例化类型List
本问题已经有最佳答案,请猛点这里访问. 我有以下代码: List product = new List(); 错误: Cannot instantiate the type List Product是 ...
最新文章
- 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
- 分布式文件系统FastDFS架构剖析
- java 内存 开发 经验_有一到五年开发经验的JAVA程序员需要掌握的知识与技能!...
- linux文件传输到另一台linux,使用scp将文件/目录拷贝到另一台Linux主机上
- Activiti 5.3:子流程(subProcess)
- 面试官问我:如何在 Python 中解析和修改 XML
- linux svn 拉取代码_svn快速入门指南
- Java 内存模型(零)
- 加速Qt在线更新--使用traefik-1.7.24(不支持traefik-2.0以上版本
- 程序员,这个双十一,对自己好一点…
- 中国FreeType联盟的几项工作
- 【Python】字符串的一些操作
- bios还原默认设置
- linux能不能装小狼毫输入法,小狼毫输入法如何设置?
- 第五十三篇 三角函数公式大全
- 扫地机器人单扫和双扫_扫地机器人初体验 懒人神器还是逗猫的塑料玩具
- python怎样查找收盘价_如何在Python中从晨星获得调整后的收盘价?
- 自己写的一点福利代码(四)
- m73p黑苹果_M93P一次性拔草小主机,黑苹果,软路由。
- IOS NDDictionary使用中value遇到no summary如何判断为NULL
热门文章
- 2022-2028年中国柴油行业市场研究及前瞻分析报告
- 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
- 【C#】枚举_结构体_数组
- events.out.tfevents文件
- 解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position错误
- Windows10+anaconda,python3.5, 安装glove-python
- Python机器学习——Agglomerative层次聚类
- Java单例模式个人总结(实例变量和类变量)
- 4D毫米波雷达Radar
- 自动驾驶仿真分析,提高研发效率