interface
1. 接口的常量默认是静态常量
String str; 等效于 public static final String str
2. 接口的方法默认是抽象方法
2.有些接口里面没有任何方法,仅仅作为一个标记
serializable:标记可以序列化到硬盘
3.男人与太监的例子
少了一个接口:太监继承自人类抽象类,但没有实现男人的一个接口
充电宝的type-c接口坏了(还有其他的接口),但它本质还是一个充电宝(抽象类)
4.判断一个类是否实现了某个类(有哪个标记等):a instanceof b
多态
同一种方法,的不同表现
如果不用多态,那么男人与女人就得判断类型,再根据类型来做出不同的操作
数组底层插入数据逻辑
1.创建一个新长度的数组
2.将元素全部拷贝过来
3.插入新元素
集合:
ArrayList:查存
LinkList:增删改
HashMap :查找的时间复杂度很低,一次就行O(1),插入也是一次就行,适合海量数据,比ArrayList和LinkList快
Stack:
Queue(LinkList):
抽象类与接口:
抽象类是本质,接口是拓展。
抽象类可以有成员变量,接口成员变量默认是常量
抽象类可以有已经实现的方法,接口的方法全部都是抽象方法
抽象类不能实例化,接口也不能实例化