一、格式
public class Student <T,E extends Pet> {}
public class Student<T> {}
二、什么时候使用
在集合框架中常见,使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。
三、泛型类
什么时候用泛型类?
答:当类中要操作的引用数据类型不确定时,早起定义Object来扩展,现在定义泛型来扩展。
public class Student<T,E extends Pet> { //T和E
private String name;
private T clothes;
private E pet;
private int age;
public Student(String name,int age){
}
public void setClothes(T clothes){ //set方法
this.clothes=clothes;
}
public T getClothes(){ //get方法
return clothes;
}
public E getPet() { //get方法
return pet;
}
public void setPet(E pet) { //set方法
this.pet = pet;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
用时:
public class Test01 {
public static void main(String[] args) {
Student<NaZhuang,Dog> stu = new Student<>("zhangsan",28);
NaZhuang nz = stu.getClothes();
Dog dog = stu.getPet();
}
}
四、泛型方法
目的:让不同的方法可以操作不同的类型,且类型不确定,可以将泛型定义在方法上。
class People{
public <T> void show(){
……
}
}
五、静态方法泛型
静态方法不可以访问类上定义的泛型,如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。
public static <w> void method(W t)