定义和使用含有泛型的类和定义和使用含有泛型的方法
泛型,用来灵活地将数据类型应用到不同的类方法中接口中。将数据类型作为参数进行传递
定义和使用含有泛型的类
定义格式
java修饰符 class 类名<代表泛型的变量>
public class Test {
public static void main(String[] args) {
//不写泛型默认为Object类型
// GenericClass gc = new GenericClass();
// gc.setName("只能是字符串");
//创建对象泛型使用String类型
GenericClass<Integer> genericClass = new GenericClass<>();
genericClass.setName(123);
System.out.println(genericClass.getName());
}
}
/**
* 定义一个含有泛型的类,模拟ArrayList集合
* 泛型是一个位置的数据类型,当我们不确定什么数据类型的时候,可以使用泛型
* 泛型可以接受任意的数据类型,可以使用Integer String Student
* 创建对象的时候确定泛型的数据类型
*/
class GenericClass<E>{
private E name;
public E getName() {
return name;
}
public void setName(E name) {
this.name = name;
}
}
定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间
含有泛型的方法,在调用方法的时候确定泛型的数据类型 传递什么数据类型,泛型就是什么类型
定义格式:
java 修饰符<代表泛型的变量> 返回值类型 方法名(参数){}
例如:
public class Test {
public static void main(String[] args) {
/**
* 测试含有泛型的方法
*/
GenericMethod gm = new GenericMethod();
gm.method01("abc");
gm.method01(1);
gm.method01(true);
gm.method02("静态方法,不建创建使用");
}
}
/**
* 定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间
*
*/
class GenericMethod{
public <M> void method01(M m){
System.out.println(m);
}
public static <S> void method02(S s){
System.out.println(s);
}
}