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