Java上转型对象

来源:互联网 发布:landsat数据预处理 编辑:程序博客网 时间:2024/05/14 21:53

用子类创建一个对象,并把这个对象的引用放到父类的对象中。

如:

//Animal是Tiger的父类Animal a;a = new Tiger();

对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。
上转型对象不能操作子类新增的成员变量和新增的方法。

上转型对象示意图
上转型对象示意图

例题

A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:
1. A a0=new A();
2. A a1=new B();
3. A a2=new C();
问以下哪个说法是正确的?()

A. 只有第一行能通过编译
B. 第1、2行能通过编译,但第3行编译出错
C. 第1、2、3行能通过编译,但第2、3行运行时出错
D. 第1行,第2行和第3行的声明都是正确的

答案:D