GenericDemo3 泛型方法

本文详细介绍了Java中泛型方法的概念及其用法。通过具体的代码示例解释了如何定义和使用泛型方法,并展示了泛型方法与泛型类的区别及联系。
/**
 *    泛型方法
 * 当方法要操作的类型和类上的泛型不一定一样.这时可以将泛型定义在方法上.这就是泛型方法
 *    
 */
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....*/
    }
}

转载于:https://www.cnblogs.com/zyjcxc/p/5453466.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值