一、自定义泛型类

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

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

如果定义了泛型类,实例化时没有指明类的泛型,则认为泛型类型为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);

}

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

  1. java程序设计复习题_java程序设计复习大全(100题及答案).doc

    java程序设计复习大全(100题及答案) Java程序设计总复习题 编写一个Java程序,用if-else语句判断某年份是否为闰年.(分支) // Programme Name LeapYear.j ...

  2. 抽象类java启动线程_java 线程复习笔记

    1. 线程基本概念 1.1 线程与进程 当一个程序进入内存运行时,即变成一个进程.进程是系统进行资源分配和调度的一个独立单元. 线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程 ...

  3. java 注解校验_Java开发编写自定义校验注解和校验器

    自定义校验 1).编写一个自定义的校验注解 2).编写一个自定义的校验器 ConstraintValidator 3).关联自定义的校验器和自定义的校验注解 * @Documented * @Cons ...

  4. java 类继承命名_Java oop 代码7:A1,A2继承A且B1,B1继承B且A,B继承C的商品类,人物模型类两道题...

    1.声明一个商品类父类,拥有编号,名称,和价格三个属性和 一个jiazhi()方法,在构造方法中对其进行赋值,打印所有商品 都有自己的价值.声明子类水果类,继承自商品类,重写jiazhi 方法,打印水 ...

  5. Java快速提升_java快速复习 一 基础语法

    最近看很多算法书,比较不错的有不少都是java语言描述,所以用一天时间快速研究并整理java  ,参考资料:java入门经典 Call this file "Example2.java&qu ...

  6. java二进制保存图片_JAVA高级特性——二进制存储图片

    import java.io.*;/*** 将图片转为数组,输出成文件,再读取这个文件,获得这个数组,还原成图片 *@authorAdministrator * **/ public classTex ...

  7. java实现计算器_java高级计算器的实现

    不仅可以实现+,-,*,/,( ,) ,log ,ln,√ , ^ , cos ,sin,tan ,还支持最大500长度的字符运算.本程序是我上课的时候老师讲的,可能不是老师的原创,希望对有些同学有用 ...

  8. java inputstream类_Java高级[7]:DataInputStream相关类的使用

    将数据以格式化读出,并在显示器上显示出来: //将数据读出 DataInputStream in = new DataInputStream(new FileInputStream("ord ...

  9. java graphics旋转_Java图像之自定义角度旋转(实例)

    图像的旋转需要调用 graphics2d 类的rotate()方法,该方法将根据指定的弧度旋转图像. 语法如下: rotate(double theta) 其中, theta 是指旋转的弧度. 说明: ...

最新文章

  1. 云计算时代的数据库运行
  2. Unity-2017.2官方实例教程Roll-a-ball(一)
  3. 三分钟撸完前后端crypto-js加解密,你学废了吗?
  4. native2ascii.exe unicode
  5. 智慧城市综合管控平台
  6. 鸿蒙系统可以安装当贝市场吗,荣耀智慧屏安装软件全攻略,新手党必备!当贝市场推荐...
  7. endless walk
  8. QML之ubuntu下编译安装虚拟键盘中文输入法
  9. 计算机无线网卡连接网络,无线网络连接不稳定
  10. html用手机什么软件能编写,目前编写一款简单的手机应用APP一般用什么编程语言?...
  11. 宋叔日记--新手级别入门全能赚钱软件!
  12. 网上英语听力测试的软件,初中英语听力测试
  13. python 使用 numpy 判断两个向量是否平行
  14. 汽车理论matlab编程,汽车理论课后作业matlab编程详解(带注释)
  15. 软件定义数据中心(SDDC)的网络安全
  16. Python Windows error code
  17. 重装windows10系统
  18. 查询至少选修课程号为'c2'和'c4' 两门课程的学生学号
  19. 画地为牢还是凤凰涅槃?
  20. 终端软件测试风险,终端的性能测试分析

热门文章

  1. 图像质量评价(四):SSIM和MSSIM
  2. 度量学习 流形学习_流形学习2
  3. PHP获取根域名主域名子域名
  4. 锐龙R5-3600XT 怎么样
  5. 对于REST的stateless的一点认识
  6. “疫情时代”如何整合校园与家庭、教师与学生的联系?
  7. 钛灵市场联袂15家AI企业,发布短视频全场景AI解决方案
  8. 上最有效懒人减肥法 喝水减肥不易反弹快试试吧
  9. 连接数据库IO错误:The Network Adapter could not establish the connection..已解决
  10. springboot供应商管理系统 毕业设计-附源码121518