黑马程序员技术交流社区
标题:
关于对象的转型
[打印本页]
作者:
0825王欢
时间:
2015-9-2 20:09
标题:
关于对象的转型
例如,
B
类是
A
类的子类或间接子类
,
当子类
B
创建一个对象,并把这个对象赋给类
A
的引用变量,那么,称这个
A
类对象
a
是子类对象
b
的向上转型的对象。
这个向上转型的
对象还可以通过强制类型转换还原成它本来的类型,被称为对象的向下转型。
class A {}
class B extends A{}
A a;
B b1 = new B();
a = b1; //
向上转型
B b2 = (B) a; //
向下转型
向上转型的对象具有如下特点:
(1)
向上转型对象不能操作子类新增的成员属性和方法
(
失掉了这部分功能
)
。
(2)
向上转型对象可以操作子类继承或隐藏的成员变量
,
也可以使用子类继承的或重
写的方法。
(3)
向上转型对象操作子类继承或重写的方法时
,
就是通知对应的子类对象去调用这
些方法。
因此
,
如果子类重写了父类的某个方法后
,
对象的向上转型对象调用这个方法时
,
一定是调用了这个重写的方法。
(4)
可以将向上转型对象再强制转换到它本来的类型
,
该对象又具备了其所有属性和
方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2