接口
如果在一个类中,一个实现的方法都没有,或者都是抽象方法,那么,这样的类,成为接口。
-语法
[修饰符] interface 接口名 extends 父接口1, 父接口2… {
0-N 个常量;
0-N个抽象方法;
}
- 接口的继承
接口的继承和类的继承不一样,接口支撑多继承,使用 extends 关键字,之间用逗号隔开,继承的内容包含了,常量和方法
- 接口的使用
接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。
- 接口的作用:
用于定义实现类的行为规范;
定义变量
定义一些常量
被其他类实现
- 一个类是可以实现多个接口的,使用 implements 关键字,多个接口之间用逗号隔开。
接口和抽象类
- 相同点
都不能被实例化,位于继承树的顶端,是用于被其他类继承或者实现的;
都可以包含抽象方法,子类都必须要实现抽象方法;
- 不同点
抽象类中可以定义普通方法,但是接口中都是抽象方法和静态变量;
在抽象类是可以定义静态方法的,接口中不能定义静态方法的;
在抽象中可以定义构造器的,但是在接口中是不存在构造器这个概念的;
一个类最多只能有一个直接的父类或者抽象类,但是可以有多个接口的实现。
集合框架
List
List
是实际开发中用的最多的一种数据结构,存储的单个元素,使用泛型去强制约束 List 中存放的是一致的数据类型
- 插入元素:add()
遍历元素
通过元素索引下标方式 for 循环
通过 foreach 循环
通过迭代器 Iterator
- 删除元素
如果通过遍历去查找相关元素进行删除的时候,不要使用 list.remove(int index) 该方法,因为使用该方法,会动态的直接改变集合的元素结构,导致遍历的不完整或者有错误。要使用迭代器遍历集合,调用 Iterator.remove() 方法删除。
Set
不详细阐述,在遍历的时候不能使用索引方式,只能通过迭代器和 foreach。
5.Map
类似的可以理解给集合元素中的值定义了一个 Key 键(遍历),之后可以通过相关的方法快速的定位到具体的 Value 中。
- 获取某个 key 的 value
Value get(Key)
- 如何遍历 Map 结构
获取 Map 的 Key 集合,通过遍历 Key 集合,获取 Value 值。
获取 key 集合:map.keySet();
遍历 Key 集合:iterator;
获取 Value 值:get(key);
- 1
- 1
- 1