A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

父类访问子类的方法一定要向下转型吗?
类名点方法名行吗?

5 个回复

倒序浏览
不行,执行是看子类的,父类无法调用子类方法
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报 1 0
父类不能调用子类的方法,这是多态的弊端
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
多态中,成员的调用分为两种,调用成员变量,编译运行都看父类,而成员方法只能调用子类父类共有的方法,也就是编译看父类,运行看子类;还有就是被静态修饰的成员方法,编译运行也都是父类;向下转型只是对多态局限性的扩展,可以调用子类中特有的方法
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
楼上说的很对,所以这就涉及到一个简单的开发习惯或者原则,就是子类尽量不要去扩充父类没有的方法,而应该尽量去完善或者修改父类已有的方法!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
父类根本不知道子类是谁好么
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马