摘要: 在面向对象程序设计中,协变返回类型指的是子类中的成员函数的返回值类型不必严格等同于父类中被重写的成员函数的返回值类型,而可以是更 "狭窄" 的类型。 Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类。协变返回类型允许返回更为具体的类型。 示例程序如下:import java.io.ByteArrayInputStream;import java.io.InputStream;class Base{ //子类Derive将重写此方法,将返回类型设置为InputStream的子类 public InputStre 阅读全文
posted @ 2014-02-06 01:21 NotOnlyAnAnswer 阅读(4584) 评论(0) 推荐(0)
摘要: 以下这段小程序对调用对象构造函数时,父类构造函数、成员变量初始化函数,以及非静态初始化块调用顺序进行验证,不考虑静态成员及静态初始化块。public class Derive extends Base { private Member m1 = new Member("Member 1"); { System.out.println("Initial Block()"); } public Derive() { System.out.println("Derive()"); } private Member m2 = new ... 阅读全文
posted @ 2014-02-05 23:55 NotOnlyAnAnswer 阅读(443) 评论(0) 推荐(1)