JAVA基础之泛型

  • 概念

  • 使用泛型注意事项:
  1. 泛型不能使用在静态属性上

    不能使一个静态引用指向一个非静态的类型 T。静态和非静态之分就在于静态是编译时类型,动态是运行时类型。T代表未知类型,如果可以用于静态申明,因为是未知类型,系统没法指定初始值,手动赋值也不行,因为不知道啥类型,只有运行时才可以指定。而泛型存在的意义就是为了动态指定具体类型,增强灵活性和通用性,所以用于静态声明违背了使用原则。为什么实例变量和实例方法可以使用呢?因为当你使用实例变量或者方法时,就说明对象存在了,即代表泛型参数也指定了。未指定具体类型默认是Object类型。

    2、使用时指定的类型不能是基本数据类型

  • 泛型接口

        在接口中泛型只能用在抽象方法上,不能使用在全局常量上

  • 泛型方法

    定义:在返回类型前面加<字母>  Public static <T> void test(T t){}

调用:test(t);t为要传的具体类型

    (T...t)代表可变参数,相当于数组

  • 泛型的继承、实现

1、继承

注:没有类型,擦除,不完全等同于Object

2、接口实现:里面只有公共的抽象方法和全局常量

  • 泛型的扩展、深入

1、泛型的通配符

2、通配符的上限和下限

(1)上限

(2)下限

注:(1)泛型没有多态:

(2)泛型没有数组:

(3)jdk1.7及以上对泛型的简化:

(4)总结:

​​​​​​​

 

转载于:https://my.oschina.net/u/3901218/blog/1926569

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值