一,类
语法
class 类名<T,R...>{//....表示可以有多个泛型
}
注意细节
1.普通成员可以使用泛型,包括属性和方法
2.静态方法中不能使用类的泛型:因为静态在类加载时就有了,对象还没有创建,但是泛型在类创建的时候才会指定,JVM无法完成初始化。
3.使用泛型的数组不能初始化
二,接口
基本语法
interface 接口名 <T,R...>{
}
注意细节
1.接口中,静态成员也不能使用泛型
2.在继承或者实现接口时确定类型
3.如果没有指定类型,默认为object
三,方法
基本语法:
修饰符<T,R>返回类型 方法名(参数){
}
使用细节
1.可以定义在泛型类中
2.泛型方法在调用的时候就要指定类型,调用方法时,传入参数编译器会自动确定类型
3.泛型和方法和方法使用了泛型要注意区分