`
逆风的香1314
  • 浏览: 1388650 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

泛型的继承测试

 
阅读更多

我对泛型的理解有限,这个只是极其简单的一个测试,欢迎指正,一起完善。

泛型方法的继承

默认情况,父类,子类都是泛型方法,没有任何问题
  1. class Parent0 {
  2.   <T> void say() {
  3.     System.out.println("Parent");
  4.   }
  5. }
  6. class Child0 extends Parent0 {
  7.   <T> void say() {
  8.     System.out.println("Child");
  9.   }
  10. }
第1种情况,父类是泛型方法,子类不是,没有任何问题
  1. class Parent1 {
  2.   <T> void say() {
  3.     System.out.println("Parent");
  4.   }
  5. }
  6. class Child1 extends Parent1 {
  7.   void say() {
  8.     System.out.println("Child");
  9.   }
  10. }

第2种情况,父类没有泛型,子类有泛型,编译失败
  1. class Parent2 {
  2.   void say() {
  3.   }
  4. }
  5. class Child2 extends Parent2 {
  6.   <T> void say() {
  7.   }
  8. }

第3中情况,父类泛型,子类用泛型的参数的子类,正常
  1. class Parent3 {
  2.   <Number> void say(Number number) {
  3.   }
  4. }
  5. class Child3 extends Parent3 {
  6.   <T extends Number> void say(T number) {
  7.   }
  8. }

类的泛型继承
几种情况都可以
  1. class Parent4<T> {
  2. }
  3. class Child4 extends Parent4 {
  4. }
  5. class Parent5 {
  6. }
  7. class Child5<T> extends Parent5 {
  8. }
  9. class Parent6<T> {
  10. }
  11. class Child6<TT extends T> extends Parent6 {
  12. }

只有第二种情况,出现了编译错误。 因为他覆盖了父类方法,可父类却没有泛型的返回值。
分享到:
评论

相关推荐

    Unity3D实验室之iOS真机闪退的解决方法

    这个问题一般发生在项目比较大,OO使用良好,泛型继承用的较多的时候。第一次真机测试时,项目终于进入真机测试阶段,之前都是在Unity编辑环境下开发测试,运行的都很良好,信心满满的打包安装,结果闪退。。。,...

    廖雪峰 Java 教程.doc

    廖雪峰 Java 教程 Java教程 Java快速入门 Java简介 安装JDK 第一个Java程序 ...继承 ...获取继承关系 ...泛型 ...什么是泛型 ...使用泛型 ...编写泛型 ...泛型和反射 ...单元测试 ...编写JUnit测试 ...异常测试 ...参数化测试

    接口和链式编程

    C#开发接口测试小程序 继承 COMMDAL BASEBLL 泛型

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    12.3.2 泛型类型和继承 12.3.3 泛型类型同一性 12.3.4 代码爆炸 12.4 泛型接口 12.5 泛型委托 12.6 委托和接口的逆变和协变泛型类型实参 12.7 泛型方法 12.7.1 泛型方法和类型推断 12.8 泛型和其他成员 ...

    凑字数Matrix.rar

    目的:掌握面向对象的程序设计思想,运用C#语言的继承-封装-重载-泛型,完成从数学算法到OOP实践。 要求: (1)设计矩阵类Matrix,重载运算符+,-,*,/,==,!=,~(转置),进行矩阵的运算和判断。进而能够完成...

    .Net可视化调试工具

    .Net可视化调试工具,很不得了的一个工具,谁用 1.支持字符串的Json转表格查看 2:支持NameValueCollection(Request.Form、Request....8:其它继承自:Enumerable 接口的类型:(类型太多,未来得及一一测试)

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。...示例描述:本章学习泛型。 demoBounds.java 演示有界类型 demoForceChange.java 演示强制类型转换 demoGeneric.java ...

    javabiginteger源码-test:测试

    公司技术架构为前后台分类开发,在后端接口没有完成时需要返回模拟数据,测试时也需要模拟数据,于是需要一个可以模拟任意数据的工具,企业开发种从头写自己实现是不现实的,太浪费时间,于是github找了一个适合的...

    java8集合源码分析-Project:工程目录

    泛型与继承、类型擦除、泛型中K T V E ? 、泛型各种用法 限定通配符和非限定通配符、上下界限定符extends 和 super List和原始类型List之间的区别? List&lt;?&gt;和List之间的区别是什么? 单元测试 junit、mock、...

    wechat-open-sdk:java版微信工具,更加优雅的第三方开发常用工具包,让开发微信登录,三方支付就像填表格一样简单。重构成spring boot starter,项目结构和代码也做了优化。主要用了泛型和抽象类进行重构(正在重组中...只剩支付宝支付)

    微信开放jdk 新版微信工具(正在重构中...),支持spring boot自动装配。之前的版本在另外一个分支...使用泛型,接口,多态重构,在需要自己扩展的时候,直接继承对应的请求类或服务接口即可,扩展十分方便 快速开始

    实验1 Java环境搭建.doc

    本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)实验报告,基础篇有JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java...

    系统说明书1

    1.需求分析 2.功能结构图 3. 类设计、类图4.界面设计5.数据库表6. 类代码继承:接口:多态泛型异常数据库GUI7. 系统测试设计和测试结果

    c#基础学习电子档 全书

    第5章 父子关系—继承 第6章 索引器、委托和事件 第7章 调试、测试和异常处理 第8章 用集合组织数据 第9章 泛型 第10章 文件处理 第11章 Windows编程基础 第12章 Windows Forms高级界面组件 第13章 数据库开发基本...

    基于MAVEN的SpringMVC+Mybatis整合及dao、service强封装

    SpringMVC+Mybatis整合及dao、service强封装:一、SPringMVC与Mybatis框架整合,其中SpringMVC主要采用注解方式实现,Mybatis采用xml为主,对数据库开发、测试、部署环境进行分离配置;二、在封装上针对Mybatis进行...

    javaqa-homeworks

    继承问题 块4.异常,接口,泛型和集合框架4.1。 [x]异常及其处理。 测试异常4.2。 [x]用于组织低连接性的接口。 泛型4.3。 [x]收藏框架。 对一组对象进行管理的系统的CRUD和测试其他材料:请参见代码存储库。

    Java2核心技术.part5

    5.2.2相等测试与继承 5.2.3 hashCode方法 5.2.4 toString方法 5.3泛型数组列表 5.3.1访问数组列表元素 5.3.2类型化与原始数组列表的兼容性 5.4对象包装器与自动打包 5.5反射 5.5.1 Class类 ...

    Java2核心技术.part3

    5.2.2相等测试与继承 5.2.3 hashCode方法 5.2.4 toString方法 5.3泛型数组列表 5.3.1访问数组列表元素 5.3.2类型化与原始数组列表的兼容性 5.4对象包装器与自动打包 5.5反射 5.5.1 Class类 ...

    C++ Primer第四版【中文高清扫描版】.pdf

    17.1.6 函数测试块与构造函数 586 17.1.7 异常类层次 587 17.1.8 自动资源释放 589 17.1.9 auto_ptr类 591 17.1.10 异常说明 595 17.1.11 函数指针的异常说明 598 17.2 命名空间 599 17.2.1 命名空间的定义 599 ...

    Java2核心技术.part1

    5.2.2相等测试与继承 5.2.3 hashCode方法 5.2.4 toString方法 5.3泛型数组列表 5.3.1访问数组列表元素 5.3.2类型化与原始数组列表的兼容性 5.4对象包装器与自动打包 5.5反射 5.5.1 Class类 5.5.2...

Global site tag (gtag.js) - Google Analytics