继承,多态,泛型
3 泛型设计
3.1 使用场景
- 编译时强类型检查
- 避免类型强转
- 实现通用算法 ```java Collections.emptyList(); ArraysList
<a name="7fDUO"></a>
#### 3.2 类型参数命名约定
- E 表示集合元素
- V 表示值
- K 表示键
- T 表示类型
多个参数 T U R
<a name="T7DCB"></a>
#### 3.3 泛型参数类型
- 单界线
```java
E extends CharSequence
读取数据
E super Number
写入数据
producer extends
consumer super