参数化类型,即,数据类型作为参数,在使用时确定而传入。
泛型标识符E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(表示Java 类,包括基本的类和我们自定义的类)
K - Key(表示键,比如Map中的key)
V - Value(表示值)
N - Number(表示数值类型)
? - (表示不确定的java类型)
S、U、V - 2nd、3rd、4th types
class 类名称<泛型标识,泛型标识,...>{}
类名<数据类型> 对象名=new 类名<>();
泛型类在创建对象的时候,才指明具体类型
注意事项:
1.如果没有指定具体的数据类型,就是Object
2.只能是类类型,不能是基本数据类型
3.泛型类型在逻辑上可以看成是多个不同的类型,但实际上都是相同类型
子类是泛型,则父子的泛型类型要一致
class Childextends Father {}
子类不是泛型,则父类要明确泛型的数据类型
class Child extends Father3.泛型接口
interface 接口名称 <泛型标识,泛型标识,…> {}
4.泛型接口的实现类
实现类也是泛型类,则实现类的泛型标识需包含泛型接口的泛型标识
public class Pairimplements Generator {}
实现类不是泛型类,接口要明确数据类型
public class Apple implements Generator5.泛型方法{}
在调用方法的时候指明泛型的具体类型
修饰符返回值类型 方法名(形参列表) {}
public staticvoid printType(T t, E e, K k) {}
说明:
见到



