//自定义一个泛型order类
public class Order<T> {
String orderName;
int orederId;
//类的内部结构(属性)就可以使用类的泛型
T orderT;
public orderT(String orderName,int orderId,T orderT){
this.ordername = ordername;
this.orderId = orderId;
this.orderT = orderT;
}
public T getOrderT() {
return orderT;
}
public T setOrderT(T orderT) {
return this.orderT = orderT;
}
//实例化
public class GenericTest1 {
public void test1(){
//如果定义了泛型类,实例化没有指明类的泛型,则认为泛型类型为Object类型
Order order = new Order();
order.setOrderT(123);
order.setOrderT("ABC");
//实例化时指明类的泛型
Order<String> oreder1 = new Order<String>("orderAA", orderId:1001,orderT:"order:AA");
oreder1.setOrderT("AA:hello");
public void test2 {
SubOrder sub1 = new SubOrder();
//由于子类在继承带泛型的父类时,指明了泛型类型,则实例化子类对象时,不再需要指明泛型
sub1.setOrderT(1122);
SubOrder<String> sub2 = new SubOrder<>();//后面<>里的内容在JDK7后可以省略
sub2.setOrderT("order2....")
}
//定义一个Order的子类SubOrder 见test2
public SubOrder extends Order<Integer> {
//SubOrder:不再是泛型类
}
public SubOrder<T> extends Order<T>{
//SubOrder:仍然是泛型类
}