java中的上转型对象

来源:互联网 发布:台球杆 知乎 编辑:程序博客网 时间:2024/05/22 03:48

1. 定义

如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:

A a;
a = new B();
OR
A a;
B b = new B();
a = b;
通俗的说:哺乳类动物为父类,老虎类为子类,把老虎的对象赋给哺乳类,那么哺乳类对象就是老虎类对象的上转型对象。

则称A类对象a是子类B对象b的上转型对象。

 

2. 性质

对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。上转型对象具有以下特点:

    1. 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即为较子类B失去一些属性和功能,这些属性和功能是新增的。
    2. 上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。
    3. 上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。
    4. 可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。
0 0
原创粉丝点击