方法返回值前面的<T>是什么?浅谈泛型模板T

//Java 方法返回值前面的T是什么 TODO 它的作用是定义泛型
class Show<T>{
    public void print1(T t){
        System.out.println(t);
    }
    public <T>void print2(T t){
        System.out.println(t);
    }
}
class Demo{
    public static void main(String[] args) {
        Show<String> stringShow = new Show<>();
//        stringShow.print1(new Integer(1));//编译不通过
        stringShow.print2(new Integer(1));
        /*TODO 分析:
        * show类定义了泛型T,它有两个print方法,两个方法只有一点差别,print2有<T>,而print1没有。
        * Demo类实例化Show类,并将泛型类型定义为String类型,却为两个print方法传入Integer类型的对象。
        * print2可以编译,而print1不可编译。
        * print1中的泛型与show对象的泛型相同,都是String,因此不能传入Integer类型的参数。而print2
        * 方法自定义了一个泛型T,因此方法参数类型不受对象泛型类型限制,这样定义的话这个方法是可以传入任意
        * 类型的参数的。*/
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值