//设置TestA类的上限为Number
class TestA<T extends Number>{
private T num ;
public T getNum() {
return num;
}
public void setNum(T num) {
this.num = num;
}
}
class TestB<T>{
private T num ;
public T getNum() {
return num;
}
public void setNum(T num) {
this.num = num;
}
}
public class Demo8 {
public static void main(String[] args) {
//上限: 实例化TestA的时候 其泛型范围上限为Number类型 在此为Integer
TestA<Integer> taTestA = new TestA<Integer>();
taTestA.setNum(15); //传入Integer类型
System.out.println(taTestA.getNum());
//下限: 设置TestB<T>的泛型 T 是String 那么实例化的时候只能是String或Object类型
TestB<? super String> tbTestB = new TestB<String>();
tbTestB.setNum("黑马"); //传入String类型
System.out.println(tbTestB.getNum());
}
}
|