泛型
泛型本质上是指类型参数化,用于声明数据的类型,也是可以改变的,有实际参数来决定的。声明阶段不确定,仅仅作为占位符使用,再具体调用是类型才能确定,而占位符的所有位置将被指定的类型做替代。
泛型类
泛型类就是具有多个类型参数的类
public class MyTest<T,Id>{
private Id id;
public T pp(T t){}
}
泛型方法
泛型方法就是带有类型参数的方法
//泛型类中方法
public class MyTest<T,Id>{
public T pp(id t){}
}
//没有泛型声明的普通类中
public class MyTest{
public <T,Id> void show(T t,Id,id){}
}
//静态方法的泛型
public static <T,Id> T load(Id id){}
泛型类的继承
泛型类是可以继承的,任何一个泛型类可以作为父类或者子类,不过和普通的继承略有区别
父类 public class A{}
- 泛型类的子类必有将泛型父类所需要的类型参数沿着继承链向上传递
- 子类不是泛型类则需要给泛型父类传递类型常量