多态向上转型与向下转型
Java 1

向上转型中:父类的引用指向子类对象。

=左边为编译类型,右边为运行类型。

方法动态绑定首先找运行类型中的方法,没有则找主类中的方法。

因此p.run找Student类中的方法,p.eat在Student类中没有找到对应的方法,去父类接着找。

因为编译类型是Person,因此p.study会报错。

向下转型:把指向子类对象的父类引用,转成指向子类对象的子类引用。

解释:

1.Person p = new Student(); 其中p就是指向子类对象的父类引用,

2.Student s = (Student)p 其中等号右边指向子类对象,左边转成s的子类引用。

其中s调用的方法先从Studenrt类找,没有就去父类找。

多态向上转型与向下转型
https://blog.883051.xyz/archives/duo-tai-xiang-shang-zhuan-xing-yu-xiang-xia-zhuan-xing
作者
玉溪
发布于
更新于
许可