/**
*
* @author xiaxiaorui
*
*泛型 受限泛型
*http://developer.51cto.com/art/200909/153983.htm
*/
class Info2<T>
{
private T var; // 定义泛型变量
public T getVar() {
return var;
}
public void setVar(T var) {
this.var = var;
}
public String toString(){ // 直接打印
return var.toString();
}
}
public class GenericsDemo17 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Info2<Integer> info1 = new Info2<Integer>(); // 声明Integer的泛型对象
Info2<Float> info2 = new Info2<Float>(); // 声明Float的泛型对象
Info2<String> info3 = new Info2<String>();
info1.setVar(30); // 设置整数,自动装箱
info2.setVar(30.1F); // 设置小数,自动装箱
info3.setVar(“俺是字符串,不能被受限的FUN组装”);
fun(info1);
fun(info2);
// fun(info3); //受限了,不能调用这个
}
/**
* 可以接收任意的泛型对象(// 只能接收Number及其Number的子类)
* @param temp
*/
public static void fun(Info2<? extends Number> temp){
// 只能接收String或Object类型的泛型
//public static void fun(Info2<? super String> temp){
System.out.println(“内容:”+temp);
}
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13630.html