一、目录
- 自定义泛型类介绍
- 自定义泛型类细节
- 自定义泛型接口介绍
- 自定义泛型接口细节
基本语法: class 类名{//也可以是接口 成员 }
三、自定义泛型类细节- 普通成员可以使用泛型(属性、方法)。
- 使用泛型的数组,不能初始化。(因为数组在new的时候,不能确定泛型的类型,所以就无法开辟空间)
- 静态方法中不能使用类的泛型。(因为静态是和类相关的,在类加载时,对象还没有创建,所以,如果静态方法和静态属性使用了泛型,JVM就无法完成初始化)
- 泛型类的类型,是在创建对象时确定的。(因为创建对象时,需要指定确定类型)
- 如果在创建对象时,没有指定类型,默认喂Object。
class Tiger{
String name;
T t;
R r;
M m;
M m1[];
public Tiger(String name, T t, R r, M m) {
this.name = name;
this.t = t;
this.r = r;
this.m = m;
}
}
四、自定义泛型接口介绍
基本语法:
interface 接口名{}
五、自定义泛型接口细节- 接口中,静态成员也不能使用泛型。
- 泛型接口的类型,在继承接口或者实现接口时确定。
- 没有指定类型,默认为Object。