- class 类名
{ - 成员
- }
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
{ - 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