泛型 学习要点

为什么要用泛型(泛型类)

创建一个实体类时,给他一个形参的类型,但是他的实体类却需要不同的类型,(如字符串类型、数值或小数类型),这个时候这个形参就不知道需要什么类型了(也可以每个类型都创建一个实体类,那样就会代码太多了),泛型就像是设置一个未知数T(就像是小时候做题设置的二元一次方程,这个数是自己设置的,X,Y,Z都可以),等到创建的对象需要的时候,可以把这个需要属性赋值给T  (需要把tostring,getset方法,有参和无参构造都写出来)


//实体类aaa
public class aaa<T> {
    public T x;
    public T y;

    public aaa(T x, T y) {
        this.x = x;
        this.y = y;
    }

    public aaa() {
    }
}

 现在只需要修aaa对象前面这个Integer的数据格式,就可以改变aaa对象里面数据的格式了,这就是泛型

泛型方法和泛型静态方法的区别

静态方法里面的泛型占位符和类中的泛型占位符没有任何关系

 以下是执行结果

泛型接口

 实现这个接口

  使用这个接口

 泛型通配符<?>

?用于接收数值的,可以接收所有的类型,作用想当于占位符,用哪个字符,就可以传那个

 integer可以换成任意格式,需要修改下面传参的方法、

泛型的上限以及下限

泛型的上下限就是指方法里面的未知数的类型<?> 的上下限

<? extends Number>就是说泛型的上限就是Number,只能与他相等不能超过它,如

Number,Integer,int都可以,Object就不行了,因为Object的类型比Number大(da的方法哪里就会爆一个类型不符的错)

同理<?  super Number>就是泛型的下限就是Number,只有Number极其以上的类型可以使用,其他类型就是报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值