Java泛型
2023/5/15大约 2 分钟
泛型应用
package 面向对象.泛型;
import java.util.ArrayList;
import java.util.List;
public class test1 {
public static void main(String[] args) {
//? extend Fruit 表示泛型变量:该泛型变量是一个未知类型,只知道这个变量是继承自Fruit类型或者是Fruit类型,所以泛型变量“ ? extend Fruit”不接受任何一种类型给他赋值
// ? super Apple 表示泛型变量:该泛型变量是一个未知类型,只知道这个变量是Apple的父类型或Apple类型,所以泛型变量“? super Apple”不能赋值给任何变量(Object类型除外,Object是任意对象的父类是毫无疑问的)
List l1=new ArrayList<>();//读取数据
Fruit fruit = l1.get(0);
List l2=new ArrayList<>();//写入数据
// Object object = l2.get(0);
l2.add(new Apple());
l2.add(new RedApple());
Food f= new Food();
f.show("hello");
f.show(1);
}
}
class Food{
public void show(T t){
System.out.println(t.getClass());
}
}
class Fruit extends Food{
}
class Apple extends Fruit{}
class RedApple extends Apple{}