一、自定义泛型类
基本语法
class 类名<T, R, ....> {
成员
}
注意事项和使用细节
1、普通成员可以使用泛型(属性、方法)
2、使用泛型的数组,不能初始化
3、静态方法中不能使用类的泛型
4、泛型类的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型)
5、如果在创建对象时,没有指定类型,默认为Object
public class CustomGeneric01 {
public static void main(String[] args) {
}
}
//1. Tiger后面有泛型,所有我们把Tiger称为自定义泛型类
//2. T, R, M 泛型的标识符,一般是单个大写字母
//3. 泛型标识符可以有多个
//4. 普通成员可以使用泛型(属性、方法)
class Tiger<T, R, M> {
String name;
T t;
R r;
M m;
//使用泛型的数组,不能初始化
//因为数组在new 不能确定T的类型,就无法在内存开空间
//T[] ts = new T[8]; 报错
T[] ts;
//静态方法中不能使用类的泛型
//因为静态是和类相关的,在类加载时,对象还没有创建
//所以,如果静态方法和静态属性使用了泛型,JVM就无法完成初始化
//static R r2; 报错
public Tiger(String name, T t, R r, M m) {
t