学习笔记之genericity

来源:互联网 发布:淘宝下载手机版 编辑:程序博客网 时间:2024/06/06 13:14

今天将泛型又回顾了一遍,写了篇博客加深印象,整理思路

1:什么是泛型?类似Object,但功能更强,用Object需各种类型检查、转换,麻烦且易出错。

2:泛型能做什么?实现‘parameter’类型的任意化。泛型可声明在类,方法,接口等上。

3:实例

a:泛型类,T1、T2的类型在new对象时确定,可以是任意类型,泛型在编译期检查类型异常,注意:泛型不能用在静态常量上,因为功用冲突

public class GenStudent<T1,T2> {    private T1 t1;    private T2 t2 ;}
b:泛型接口,T只能用在抽象方法上

public interface GenInterface <T>{    void getName(T t);}
c:泛型方法,因为T类型不定,所以不能修改T的信息。使用extends(<=)或super(> )

public static<T> T genMethod(T t) {    return t;}

d:父类泛型,子类指定具体类型;或子类为同父类一样的泛型类,子类类型大于父类;或父类不指定类型,默认为Object。(属性随位置定)

e:多态无泛型,只能声明 ?,代表类型不确定如   GenStudent<?,?> gen = new GenStudent<String,Long>();