小伙的java之旅——泛型

首先需要明确的是:

    泛型的使用类型应为引用类型,不能为基本类型。

泛型:1,安全:list.add(); 只能加泛型中的定义类型。
2,省心:get(); 无须类型转换。

自定义泛型类的注意点:

1,<>里面存放单个大写字母,尽可能见名知意。
2,常见的泛型字母:T——type,K——key,V——value,E——element。
3,泛型不能使用在静态属性。

自定义泛型接口的注意点:

泛型不能使用在全局常量上。

自定义泛型方法的注意点:

在返回类型前面加<字母> 如:public static <T> void test(){}

泛型子类继承父类的4中方式:

/**
* 泛型父类
*
*/
public abstract class Father<T1,T2> {
}
//保留
//1,全保留
class Son1<T1, T2> extends Father<T1,T2>{
}
//2,部分保留
class Son2<T1> extends Father<T1, String>{
}
//不保留
//1,具体类型
class Son3 extends Father<String, Integer>{
}
//2,没有类型 擦除 Object
class Son4 extends Father{
}

泛型的上限和下限:

通配符?:类型不确定,用于声明变量/形参。不能用于创建对象,泛型类,泛型接口…

void test(<? extends Fruit> list){}

extends:表示上限,表示类型只能为Fruit与它的子类。

void test(<? super Fruit> list){}

supers:表示下限,表示类型只能是Fruit与它的父类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值