泛型
泛型:一种可以去接收数据类型的数据类型
优势:约束添加到集合中的数据类型,减少类型转换
1 | // 举例说明 |
泛型介绍
可以在类声明时通过一个标识表示类中某个属性的数据类型,或者是某个方法的返回值的类型,或者是参数类型
1 | // 泛型的声明,K,V表示类型 |
使用细节 :
- type需要是引用类型,不能是基本数据类型
- 在给泛型指定具体类型后,可以传入该类型或者其子类类型
- 泛型的使用
- 没有指定泛型,默认为Object类型
自定义泛型
自己写一个类或接口,添加一个泛型规则
泛型类
1 | // 类使用泛型 |
细节: 泛型标识符一般使用大写字母,可以有多个。 普通成员可以使用泛型 使用泛型的数组,不能初始化 静态方法中不能使用类的泛型 泛型类的类型,是在创建对象时确定的 如果在创建对象时没有指定类型,默认为Object
泛型接口
1 | // 接口使用泛型 |
细节: 静态成员中不能使用泛型 泛型接口的类型,在继承或实现接口时确定
泛型方法
1 | // 方法使用泛型 |
细节: 1.泛型方法可以定义在普通类中,也可以定义在泛型类中 2.当泛型方法被调用时,类型会确定 3.可以使用类声明的泛型,也可以使用方法声明的泛型
泛型继承和通配符
泛型不具备继承性
通配符
1 | <?> // 支持任意类型泛型 |