Java协变返回类型
2015-04-06 13:27
302 查看
今天看到句话:“支持重写方法时返回协变类型”。
那么什么事协变类型?在网上找了找资料,大体上明白了。
Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。
示例程序如下:
代码如下:
那么什么事协变类型?在网上找了找资料,大体上明白了。
Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。
示例程序如下:
代码如下:
import java.io.ByteArrayInputStream; import java.io.InputStream; class Base { //子类Derive将重写此方法,将返回类型设置为InputStream的子类 public InputStream getInput() { return System.in; } } public class Derive extends Base { @Override public ByteArrayInputStream getInput() { return new ByteArrayInputStream(new byte[1024]); } public static void main(String[] args) { Derive d=new Derive(); System.out.println(d.getInput().getClass()); } } /*程序输出: class java.io.ByteArrayInputStream */
相关文章推荐
- java中的协变返回类型
- java编程思想--协变返回类型
- 关于java可变(协变)返回类型的解说之一------------基类与派生类
- LearnJava 多态之协变返回类型
- java 协变返回类型的理解
- 理解Java中的协变返回类型
- Java之协变返回类型理解和简单实例
- Java covariant return type(协变返回类型)
- Java | 协变返回类型学习时的一个例子
- Java之协变返回类型详解(附源码)
- java协变返回类型使用示例
- java学习笔记---协变返回类型
- [Thinking in Java] - No.6 协变返回类型
- 返回类型协变
- Java中Date转换大全,返回yyyy-MM-dd的Date类型
- java 中ResultSet可以获取的数据类型及返回值类型列表
- ibatis调用存储过程:返回NUMBER,对应java类型的解决办法
- Java调用存储过程(返回:简单类型、自定义对象、列表数组)
- java 返回数据的类型提升
- 3.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:服务端业务逻辑层接口