黑马程序员--Java基础加强--06.【泛型通配符限定】【个人总结】

泛型通配符限定 总结

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

本篇日志着重总结extends和super在泛型限定中的使用方法

1.    泛型通配符限定

1). extends, super和? 的基本使用规则

(1). 定义类型参数的规则

[1]. 自定义类型参数限制

定义类型参数的时候,可以使用extends关键字,但是不能使用super关键字或者 ?

[2]. 自定义类型参数格式

       定义的格式:<T>或者<T extends 某种类型>

[2]. 类型参数定义位置

    类型参数可被定义的位置有以下三种:

{1}. 类的class和{之间

e.g. class GenericFuncitonII<T> {…

     class GenericFuncitonIIII <T extends Number>{…

{2}. 非静态方法访问修饰符 返回值类型 之间

e.g. public <T> void printFunc(…

     public <T extends Number> void printFunc(Tobj){…

{3}. 静态方法static返回值类型 之间

e.g. public static <T> void printFunc(…

(2). 使用类型参数或者? 的规则

当想使用已定义过参数类型的时候,就用类型参数

没有类型参数可用又想使用泛型的时候,就用?替代类型参数

[1]. <>使用类型参数或者?的格式:

【前提:类型参数T前面被定义过】

{1}. 单独使用类型参数格式:<T>

{2}. 单独使用占位符格式:

<?>,       <? extends某种具体类型><? super某种具体类型>

{3}. 联合使用类型参数占位符格式

       <? extends T><? super T>

【注意】自定义类型变量 如果放在super或者extends前面无法编译通过的。

MyEclipse验证如下:


[2]. 脱离<>使用类型参数格式:直接使用T即可

       此时就可以把这个T看做一种普通数据类型就可以。普通数据类型出现在哪这个T就能现在哪里

       【注意】?是不可以脱离<>使用的!!!!

因为Java的标示符命名规则是:26字母大小写,下划线_,美元符$ 或者 0-9数组。?并不在合法标示符的组成范围之内,所以不可以单独使用。</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值