java协变返回类型使用示例
2014-02-07 11:09
357 查看
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多线程Future、FutureTask使用示例,返回异步的结果
- LearnJava 多态之协变返回类型
- Java covariant return type(协变返回类型)
- 理解Java中的协变返回类型
- Java | 协变返回类型学习时的一个例子
- java编程思想--协变返回类型
- 解决Java程序使用MySQL时返回参数为乱码的示例教程
- java中的协变返回类型
- Java之协变返回类型理解和简单实例
- java 协变返回类型的理解
- 关于java可变(协变)返回类型的解说之一------------基类与派生类
- java多线程Future、FutureTask使用示例,返回异步的结果
- java中的方法返回值使用泛型,实现灵活的返回值类型
- 要求根据RandomStr.java:使用类型转换生成六位验证字符串,示例程序每次运 行时,都会生成不同的字符串。
- IOS使用AFNetworking解析服务端(Java)返回的double类型时会自动添加很多0000000
- java学习笔记---协变返回类型
- [Thinking in Java] - No.6 协变返回类型
- 解决Java程序使用MySQL时返回参数为乱码的示例教程
- Java协变返回类型
- 在JAVA中返回类型使用泛型T和Object有什么区别?