一、自定义泛型类

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

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

如果定义了泛型类,实例化时没有指明类的泛型,则认为泛型类型为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.1.2 数据通信基础知识
  2. idea解决activiti(*.bpmn)文件乱码问题。
  3. Selenium自动化测试-8.iframe处理
  4. iOS 程序 main函数之前发生什么
  5. 【iCore4 双核心板_uC/OS-II】例程十:信号量集
  6. 给uiview设置圆角
  7. 小鑫の日常系列故事(七)——小纸条 (字符串) SDUT
  8. 快速养成一个好习惯?特别是小孩,培养一个习惯需要多长时间
  9. 《网络攻防》第二周作业
  10. altium 不规则焊盘 创建异形焊盘方法
  11. vb.net 生成随机数
  12. 如何免费建立一个网站?
  13. Windows10 安装Oracle 11g 的配置详解(1)
  14. 将图片内嵌到 exe 文件中
  15. SQL 2014新功能介绍系列3 - 备份还原篇
  16. 使用Haskell和Hubris加强Ruby
  17. catkin_make问题: The build space at ‘/home/lufeng/Documents/test/catkin_ws/build’ was previously built
  18. 自动提取网页文章或者文章的免费软件
  19. AD9235芯片手册阅读笔记
  20. 笔记本电脑内存升级经历

热门文章

  1. 重庆大学计算机测控应用基础,重庆大学201803批次网上计算机应用基础B卷
  2. 文件服务器压测,centos服务器压测
  3. 生产管理:专项生产业务管理系统
  4. IDEA下Log4j使用教程
  5. 实现上面固定下面滚动效果
  6. 基于Java实现的设备模拟器
  7. React 基础案例 | 提醒列表和旅游清单列表(一)
  8. Tableau 可视化十大案例,原来数据还能长得这么好看
  9. matlab视觉呈现任务,视觉笔记 | 国内外优秀作品解读赏析(1)
  10. XP系统下怎么给文件夹加密?