java 继承泛型类_JAVA高级复习-自定义泛型类及泛型类的继承

一、自定义泛型类

自定义泛型结构:泛型类、泛型接口、泛型方法

自定义泛型类的内部结构(方法、属性、构造器等),可以使用类的泛型

如果定义了泛型类,实例化时没有指明类的泛型,则认为泛型类型为Object类型

要求:如果定义了泛型类,在实例化时,要指明类的泛型;

/**

* 自定义泛型类

*/

public class Order {

private String orderName;

private Integer orderAge;

//自定义泛型类的内部结构(方法、属性、构造器等),可以使用类的泛型

private T orderT;

public Order() {

}

public Order(String orderName, Integer orderAge, T orderT) {

this.orderName = orderName;

this.orderAge = orderAge;

this.orderT = orderT;

}

public String getOrderName() {

return orderName;

}

public void setOrderName(String orderName) {

this.orderName = orderName;

}

public Integer getOrderAge() {

return orderAge;

}

public void setOrderAge(Integer orderAge) {

this.orderAge = orderAge;

}

//自定义泛型类的内部结构(方法、属性、构造器等),可以使用类的泛型

public T getOrderT() {

return orderT;

}

public void setOrderT(T orderT) {

this.orderT = orderT;

}

@Override

public String toString() {

return "Order{" +

"orderName='" + orderName + '\'' +

", orderAge=" + orderAge +

", orderT=" + orderT +

'}';

}

}

public class GenericTest2 {

@Test

public void test01() {

//如果定义了泛型类,实例化时没有指明类的泛型,则认为泛型类型为Object类型

//要求:如果定义了泛型类,在实例化时,要指明类的泛型;

Order order = new Order();

order.setOrderT(1);

order.setOrderT("很好");

//如果定义了泛型类,实例化时应指明类的泛型

Order order1 = new Order<>();

order1.setOrderT(1);

}

}

二、泛型类的继承特点

子类继承泛型类,泛型类未指明泛型类型,那么子类仍然为泛型类

子类继承泛型类,泛型类指明泛型类型

/**

* 子类继承泛型类,泛型类未指明泛型类型

*/

public class Sub1Order extends Order {

}

/**

* 子类继承泛型类,泛型类指明泛型类型

*/

public class Sub2Order extends Order {

}

@Test

public void test01() {

//子类继承泛型类,泛型类未指明泛型类型,那么子类仍然为泛型类

Sub1Order sub1Order = new Sub1Order<>();

sub1Order.setOrderT(1);

//子类继承泛型类,泛型类指明泛型类型

Sub2Order sub2Order = new Sub2Order();

sub2Order.setOrderT(1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值