泛型 : 参数化类型,就是将类型由原来的具体的类型参数化(把类型当作参数传递)
使用泛型的好处 :1、 使用泛型可以提高代码代码复用率
2、 泛型中的类型在使用时指定,不需要强转类型(类型安全)
泛型的使用
注意 : 泛型只在编译阶段有效
泛型限制类型:在使用泛型时可以指定泛型的限定区域
例如:必须是某个类的子类,或者某个接口的实现类
<T extends 类或接口1 & 接口2 >
泛型中的通配符 :?
上届限定: <? extends person> 类型必须是person的子
下届限定: <? super son> 类型必须是son的父
<?> 没有限制的泛型类型
1、泛型类
// 例 :定义一个泛型类 class ClassName<T>{ private T data; public T getData(){ return this.data; } public void setData(T data){ this.data = data; } }
2、泛型接口
// 定义泛型接口 interface InterFaceName<T>{ T getData(); } // 使用接口时可以指定泛型类型、或不指定泛型类型 如下: // 指定类型 public class classNameOne implements InterFaceName<String>{ private String name; public String getData(){ return this.name; } } // 不指定类型 public class classNameTwo implements InterFaceName<T>{ private T data; public T getData(){ return this.data; } }
3、泛型方法
泛型方法的泛型只在该方法内有效
public class className{ public static void main(String[] args){ print("111"); } // 泛型在方法中使用 public static <A> void print(A a){ System.out.println(a); } }
JAVA 泛型
最新推荐文章于 2024-07-13 13:55:40 发布