java中的泛型

泛型概念

泛型即"参数化类型".一提到参数,我们首先就会想到在定义方法的时候会有形参,然后调用此方法传递实参

参数化类型:就是将类型由原来具体的类型参数化,类似于方法中的变量参数,此时的类型也定义成参数类型,然后再使用/调用时传入具体的类型

为什么使用泛型

在早期的Object类型可以接受任意的对象类型,但是在实际的使用过程中,会出现类型转换问题.因为存在这种隐患,所以java提供了泛型来解决这个安全问题

泛型类型

泛型类型分为:泛型类,泛型接口,泛型方法

泛型类

在定义类的时候将类型定义为泛型

public class A<T> {//T表示类型
​
    private T number;//表示T类型的常量,T类型由外部决定
​
    public T getNumber() {//泛型方法的返回值类型也是T
        return number;
    }
​
    public void setNumber(T number) {
        this.number = number;
    }
​
}

从泛型类派生出子类

子类也要是泛型类,且与父类类型一致

当子类不是泛型类时,父类要明确泛型数据类型

泛型接口

泛型接口与泛型类使用基本相似,只是在定义的时候是接口,也可以用泛型来定义

泛型方法及泛型通配符

泛型通配符就是使用"?"代表具体的类型实参

public class A<T> {
​
    private T number;
​
    public void print(A<? extends Object> i){//使用extends表示他的上限是Object,可以使用它及它的子类
​
    }
​
​
    public void print2(A<? super Integer> in){//使用super表示他的下限是Integer,可以使用它及它的父类
​
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值