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);
}
java 继承泛型类_JAVA高级复习-自定义泛型类及泛型类的继承相关推荐
- java程序设计复习题_java程序设计复习大全(100题及答案).doc
java程序设计复习大全(100题及答案) Java程序设计总复习题 编写一个Java程序,用if-else语句判断某年份是否为闰年.(分支) // Programme Name LeapYear.j ...
- 抽象类java启动线程_java 线程复习笔记
1. 线程基本概念 1.1 线程与进程 当一个程序进入内存运行时,即变成一个进程.进程是系统进行资源分配和调度的一个独立单元. 线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程 ...
- java 注解校验_Java开发编写自定义校验注解和校验器
自定义校验 1).编写一个自定义的校验注解 2).编写一个自定义的校验器 ConstraintValidator 3).关联自定义的校验器和自定义的校验注解 * @Documented * @Cons ...
- java 类继承命名_Java oop 代码7:A1,A2继承A且B1,B1继承B且A,B继承C的商品类,人物模型类两道题...
1.声明一个商品类父类,拥有编号,名称,和价格三个属性和 一个jiazhi()方法,在构造方法中对其进行赋值,打印所有商品 都有自己的价值.声明子类水果类,继承自商品类,重写jiazhi 方法,打印水 ...
- Java快速提升_java快速复习 一 基础语法
最近看很多算法书,比较不错的有不少都是java语言描述,所以用一天时间快速研究并整理java ,参考资料:java入门经典 Call this file "Example2.java&qu ...
- java二进制保存图片_JAVA高级特性——二进制存储图片
import java.io.*;/*** 将图片转为数组,输出成文件,再读取这个文件,获得这个数组,还原成图片 *@authorAdministrator * **/ public classTex ...
- java实现计算器_java高级计算器的实现
不仅可以实现+,-,*,/,( ,) ,log ,ln,√ , ^ , cos ,sin,tan ,还支持最大500长度的字符运算.本程序是我上课的时候老师讲的,可能不是老师的原创,希望对有些同学有用 ...
- java inputstream类_Java高级[7]:DataInputStream相关类的使用
将数据以格式化读出,并在显示器上显示出来: //将数据读出 DataInputStream in = new DataInputStream(new FileInputStream("ord ...
- java graphics旋转_Java图像之自定义角度旋转(实例)
图像的旋转需要调用 graphics2d 类的rotate()方法,该方法将根据指定的弧度旋转图像. 语法如下: rotate(double theta) 其中, theta 是指旋转的弧度. 说明: ...
最新文章
- 云计算时代的数据库运行
- Unity-2017.2官方实例教程Roll-a-ball(一)
- 三分钟撸完前后端crypto-js加解密,你学废了吗?
- native2ascii.exe unicode
- 智慧城市综合管控平台
- 鸿蒙系统可以安装当贝市场吗,荣耀智慧屏安装软件全攻略,新手党必备!当贝市场推荐...
- endless walk
- QML之ubuntu下编译安装虚拟键盘中文输入法
- 计算机无线网卡连接网络,无线网络连接不稳定
- html用手机什么软件能编写,目前编写一款简单的手机应用APP一般用什么编程语言?...
- 宋叔日记--新手级别入门全能赚钱软件!
- 网上英语听力测试的软件,初中英语听力测试
- python 使用 numpy 判断两个向量是否平行
- 汽车理论matlab编程,汽车理论课后作业matlab编程详解(带注释)
- 软件定义数据中心(SDDC)的网络安全
- Python Windows error code
- 重装windows10系统
- 查询至少选修课程号为'c2'和'c4' 两门课程的学生学号
- 画地为牢还是凤凰涅槃?
- 终端软件测试风险,终端的性能测试分析
热门文章
- 图像质量评价(四):SSIM和MSSIM
- 度量学习 流形学习_流形学习2
- PHP获取根域名主域名子域名
- 锐龙R5-3600XT 怎么样
- 对于REST的stateless的一点认识
- “疫情时代”如何整合校园与家庭、教师与学生的联系?
- 钛灵市场联袂15家AI企业,发布短视频全场景AI解决方案
- 上最有效懒人减肥法 喝水减肥不易反弹快试试吧
- 连接数据库IO错误:The Network Adapter could not establish the connection..已解决
- springboot供应商管理系统 毕业设计-附源码121518