泛型

泛型的本质是参数化类型,即将操作数的数据类型指定为一个参数。当这种参数类型用在类中时,就称该类为泛型类。
泛型类的格式:

[类修饰词] class 类名<类型参数> [extends 父类名] [implements 接口名]{   类体
}

在引入泛型之前,要在类中的方法支持多个类型,就需要对方法进行重载,在引入泛型后,可以解决此问题(多态),更进一步可以定义多个参数以及返回值之间的关系。例如:

public void writer(Integer i, Integer[] ia);
public void writer(Double i, double[] ia);

泛型版本为:

public <T> writer(T t, T ta);

通配符:
<?>表示未指定的类型,java会自动将其当作最顶层的Object类,所以它和<Object>等效。

<T extends Student>表示泛型T指代Student类及继承它的子类、子类的子类......

<T super Student>表示泛型T指代Student类及它的父类、父类的父类......

参考 娄宗

推荐阅读更多精彩内容

  • Why ——引入泛型机制的原因 假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到...
    AndroidDev_阅读 3,185评论 1 6
  • 我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。 假如我们现在...
    今晚打肉山阅读 59评论 0 0
  • object 变量可指向任何类的实例,这让你能够创建可对任何数据类型进程处理的类。然而,这种方法存在几个严重的问题...
    CarlDonitz阅读 220评论 0 5
  • 在之前的文章中分析过了多态,可以知道多态本身是一种泛化机制,它通过基类或者接口来设计,使程序拥有一定的灵活性,但是...
    _小二_阅读 172评论 0 0
  • 又到端午,早在二周前,大街上各店铺前都已经陆续开始摆粽子出来,多数是咸粽。这几天,吃了二次粽子当早餐,咸粽子也挺好...
    岛屿书阅读 47评论 0 0