本质:参数化类型。
定义格式
- <类型>:指定一种类型的格式,形参。
- <类型1,类型2>:指定多种类型,形参。
- 调用时给的类型可看为实参,而实参必须为引用类型。
好处:
- 把运行时期的问题提前到编译期间
- 避免强制类型转换
泛型类:
-
格式:修饰符 Class类名<类型> ()
-
范例:public Class generic()
T可以是任意字母。 -
public T t; get set 方法
-
泛型类改进
public void show(String s){
}
public void show(Integer i){
}
public void show(T t){
}
泛型方法:
- 修饰符 返回值类型 方法名(T t) 因此泛型方法可以创建任意类型
- 泛型类是在实例化时直接导入数据类型,而泛型方法则是使用方法时导入数据类型
泛型接口:
- 格式:修饰符 Interface 接口名<类型> ()
T为问好时,可以为任意类型
- ? extend 类型 则为类型或该类型的子类型,即定义上限
- ?super 类型 则为类型或该类型的父类型,即定义下限
可变参数:
- 参数个数可变
- 修饰符 返回值类型 方法名(数据类型… 变量名)
public static int sum(int... a) //这时a变成了数组