java学习day17泛型

泛型

  • 泛型的定义
    • 优点
  • 分类
    • 泛型方法
      • 定义规则
    • 泛型类
    • 泛型接口
  • 泛型擦除
  • 泛型通配符

泛型的定义

将类型明确的工作推迟到创建对象或者调用方法的时候才去明确具体的数据类型。(将操作的数据类型指定为一个参数)

优点

使用简洁
程序更加健壮
程序可读性和稳定性得到提升
简单安全

分类

泛型方法

调用的时候可以接受不同数据类型的参数

定义规则

①所有泛型方法声明都有一个类型参数声明部分,该部分在方法反回类型之前
②每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符
③类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符
④泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等)

泛型类

在类名后面添加类型声明–,可以包含一个或者多个
继承时:
1 父类不明确泛型类的类型参数,那么子类也要加上泛型
2 父类明确了泛型类的类型参数,那么子类不需要加上泛型

泛型接口

和泛型类的声明相似
实现类中要重写父类里面的方法,返回值或者参数类型要和父类的一样

泛型擦除

1只为泛型类型生成一份字节码
2 将所有的泛型参数勇气最左边(最顶级的父类型)类型替换,移除其他所有的类型参数

泛型通配符

① ?代替object 规定类型
② 通配符最大限度,传递实参只能是class或者其子类
③通配符最小限度,传递实参只能是class或者其父类

你可能感兴趣的:(java)