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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HelloWorld! 中级黑马   /  2014-11-9 07:58  /  1297 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Man类继承了Person类,如果Person p = new Man( );那么p只能调用Person类的方法,不能调用子类Man的方法。如果Man m = new Man( );Person p = m;p能不能调用子类Man的方法呢?

6 个回复

倒序浏览
晕,标点组合成了表情符号。后半句是,如果Man m = new Man( ); Person p = m; p能不能调用子类Man的方法呢?
回复 使用道具 举报
你这个”调用子类Man的方法“是指调用子类特有的方法还是从父类继承的方法呀?我觉得这两个没差别,new Man()返回的也是Man对象的引用,然后赋给p。
回复 使用道具 举报
不能调用子类的特有方法,如果子类方法是重写父类的方法可以调用
回复 使用道具 举报
这个应该是一样的吧,自己编个小程序试一下就明白了。
回复 使用道具 举报
描述的问题有点模糊,子类继承父类,子类可以调用父类的非私有方法,如果子类覆盖父类的方法,调用时执行的是子类覆盖过后的方法内容。
回复 使用道具 举报
不可以,,,只能调用子类覆盖父类的方法和父类的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马