本文介绍: 如果实际类型不一致(woman不能转man),编译问题,但是运行出错。满足就近原则,父类引用调用一个父类子类的同名属性,默认。父类引用不能直接使用子类特有的内容,所以需要向下转型‘不能直接调用子类里的方法属性编译通不过。调用重写方法,就会执行子类重写方法。编译看引用表面类型执行看实际变量类型。因为引用父类的,调用的就是父类的属性。父类引用指向子类对象

99-面向对象(进阶)-面向对象的特征三:多态性_哔哩哔哩_bilibili

1.多态(仅限方法

父类引用指向子类对象

调用重写的方法,就会执行子类重写的方法。

编译看引用表面类型执行看实际变量类型

2.父子同名属性是否满足多态?不满足

满足就近原则,父类引用调用一个父类子类的同名属性,默认调父类的属性。

因为引用是父类的,调用的就是父类的属性

3.为什么要多态

 

4.多态弊端

 不能直接调用子类里的方法和属性,编译通不过

5.向下转型

父类引用不能直接使用子类特有的内容,所以需要向下转型

instanceof有点像golang断言

 向下转型和强转的用法很类似

6.转型可能导致异常,因此需要判断instanceof

如果实际类型不一致(woman不能转man),编译没问题,但是运行出错。

需要判断实例类型 ,

golang断言就类似于这里instanceof + 强转

原文地址:https://blog.csdn.net/m0_50973548/article/details/134627896

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_3285.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注