泛型
Java泛型是jdk 1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递
常见的形式有泛型类、泛型接口、泛型方法
语法:<T,。。。> T称为类型占位符,表示一种引用类型。 尖括号里可以是T :type ,也可以是 E :element , K :key , V:value
好处:提高代码的重用性 , 防止类型转化异常,提高代码的安全性
例子
一、泛型类
说明,在泛型类里面:创建了变量,写了show方法,get 方法
注意:在方法里不能实例化T,因为不能保证传过来的构造方法 一定 是能用的,私有的就不能用。也无法保证T是否具有无参构造函数
说明:这里编写一个main函数,调用泛型类Mygeneric,分别创建了String 和 integer 类型
二、泛型接口
有两种实现方法,区别不是很大
定义接口: 里面写了一个方法名
实现接口:
方法一:我们在接口后面定义了泛型的类型,重写的方法也就变成了String类型
方法二:我们不在接口的实现类里定义泛型的类型,所以接口的类型是不确定的,所以实现接口的类也需要变成泛型类<T>
测试:
总结:我们定义一个泛型的接口,我们可以在接口实现类中明确接口的类型,我们还可以在主函数中再确定泛型的类型
二、泛型方法
定义一个泛型方法,在方法的前面加上<T>
---左右两边写法都可以----
测试核心:我们不用定义泛型的引用类型,方法会自动根据传递进来的参数自动的判断引用类型
泛型的好处
一、提高代码的重用性
观察这段代码:
一个方法,就可以传递任何类型的数据
泛型 和 集合 的联系请看:泛型与集合