1、泛型 与面向对象的多态性相类似,应用泛型可以提高程序的复用性。与多态性不同的是,应用泛型可以减少数据的类型转换,从而提高代码的运行效率。泛型实际上是通过给类或接口增加类型参数实现的。不带泛型的类的定义格式是:【类型修饰词列表】 class 类名 【extends 父类名 ...
1、泛型
与面向对象的多态性相类似,应用泛型可以提高程序的复用性。与多态性不同的是,应用泛型可以减少数据的类型转换,从而提高代码的运行效率。泛型实际上是通过给类或接口增加类型参数实现的。不带泛型的类的定义格式是:
【类型修饰词列表】 class 类名 【extends 父类名】 【implements 接口名称列表】
{
类体
}
如果需要将上面的类定义格式改为具有泛型特点的类定义格式,则只需要将其中紧接在关键字class之后的类名修改为:
类名 <类型参数>
或者是
类名 <类型参数1,类型参数2,类型参数3,......,类型参数n>
前者适用于只有1个类型参数;后者适用于多个类型参数,在相邻参数之间采用逗号隔开。上面的方法同样适用于接口,从而将不带泛型的接口定义格式修改为具有泛型特点的接口定义格式。
类型参数的定义格式可以采用下面3种形式的任何一种:
(1)类型参数标识符
(2)类型参数标识符 extends 父类型
(3)类型参数标识符 extends 父类型1 & 父类型2 & 父类型3 &......&父类型n
下面来看一个有关第三种形式的实例:
//定义类J_C1class J_C1{ public void mb_methodA() { System.out.print("A"); }}//定义接口J_C2interface J_C2{ public void mb_methodB();}//定义类J_C3,其继承J_C1类,实现接口J_C2class J_C3 extends J_C1 implements J_C2{ public void mb_methodB() { System.out.print("B"); }}//定义J_T类,其继承类J_C1和接口J_C2class J_T <T extends J_C1 & J_C2>{ public void mb_method(T t) { t.mb_methodA(); t.mb_methodB(); }}//实际调用J_T类public class J_Genericity{ public static void main(String args[]) { J_T<J_T3> a = new J_T<J_T3>(); a.mb_methodT(new J_C3()); }}
原标题:Java基础知识笔记(二:泛型和枚举)
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。