黑马程序员技术交流社区

标题: 受限泛型 [打印本页]

作者: David19910809    时间: 2015-6-4 23:00
标题: 受限泛型
    class Info<T>{  
        private T var ;     // 定义泛型变量  
        public void setVar(T var){  
            this.var = var ;  
        }  
        public T getVar(){  
            return this.var ;  
        }  
        public String toString(){   // 直接打印  
            return this.var.toString() ;  
        }  
    };  
    public class GenericsDemo17{  
        public static void main(String args[]){  
            Info<Integer> i1 = new Info<Integer>() ;        // 声明Integer的泛型对象  
            Info<Float> i2 = new Info<Float>() ;            // 声明Float的泛型对象  
            i1.setVar(30) ;                                 // 设置整数,自动装箱  
            i2.setVar(30.1f) ;                              // 设置小数,自动装箱  
            fun(i1) ;  
            fun(i2) ;  
        }  
        public static void fun(Info<? extends Number> temp){  // 只能接收Number及其Number的子类  
            System.out.print(temp + "、") ;  
        }  
    };  
    ----------------------------------------------------------  
    class Info<T>{  
        private T var ;     // 定义泛型变量  
        public void setVar(T var){  
            this.var = var ;  
        }  
        public T getVar(){  
            return this.var ;  
        }  
        public String toString(){   // 直接打印  
            return this.var.toString() ;  
        }  
    };  
    public class GenericsDemo21{  
        public static void main(String args[]){  
            Info<String> i1 = new Info<String>() ;      // 声明String的泛型对象  
            Info<Object> i2 = new Info<Object>() ;      // 声明Object的泛型对象  
            i1.setVar("hello") ;  
            i2.setVar(new Object()) ;  
            fun(i1) ;  
            fun(i2) ;  
        }  
        public static void fun(Info<? super String> temp){    // 只能接收String或Object类型的泛型  
            System.out.print(temp + "、") ;  
        }  
    };  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2