码迷,mamicode.com
首页 > 其他好文 > 详细

GenericDemo3 泛型方法

时间:2016-05-03 00:37:49      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

/**
 *    泛型方法
 * 当方法要操作的类型和类上的泛型不一定一样.这时可以将泛型定义在方法上.这就是泛型方法
 *    
 */
public class GenericDemo3 {
 
    public static void main(String[] args) {
        Util<String> u = new Util<String>();
        u.show("abc");
//        u.show(6);     //编译报错    类型与定义的泛型不匹配
        Util<Integer> i = new Util<Integer>();
        i.show(6);
//        i.show("abc");    //编译报错    类型与定义的泛型不匹配
        //part2:
        i.show("abc");
        i.show(new Exception());    //什么类型都可以接收了
 
    }
 
}
 
/*part1: 泛型类 注意泛型定义的位置
 * 当方法要操作的类型和类上的泛型不一定一样.
 * 这是可以将泛型定义在方法上.
 * */
class Util <T>{
    public<Q> void show(Q q){    //part2: 这就是泛型方法
        System.out.println("show"+q);
    }
 
    public static <S>void print(S s /*T t*/ ){    
        //part3: 记住:如果方法是静态,还需要使用泛型,那么泛型必须定义在方法上。
        //原因在于:静态方法随着类的加载,而Util对象还每建立时,是不确定泛型参数是什么的,所以需要把泛型定义在静态方法上.
        System.out.println("print"+ s /*t*/);
    }
    public void show2(T t){
        /*code....*/
    }
}

GenericDemo3 泛型方法

标签:

原文地址:http://www.cnblogs.com/zyjcxc/p/5453466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!