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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1161272014 注册黑马   /  2012-7-14 10:06  /  1518 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在同一包中有个类A继承了类B的所有protected和public修饰的成员方法 和成员变量,然后有个类C继承了类B的所有protected和public修饰的成员方法和属性,如果类C中重写了父类中的继承来的方法,它如果想调用父类中的方法可以用super,但是如果类A中也有个同名的方法,C怎样能调到A中的同名方法,

点评

马甲先改了  发表于 2012-7-14 10:11
警告“1161272014”这位同学!你刚刚注册,一下就发了8个很基础帖子,估计是没看过视频又想刷分的!  发表于 2012-7-14 10:10

2 个回复

倒序浏览
{:soso_e103:}
回复 使用道具 举报
这个问题还真是没想过。
不过个人这样认为:
首先,当B继承A时,B中会包涵所有的A的非私有成员,包括变量和方法;就算有重复的,B中自己定义的成员会覆盖掉A中定义的成员;也就是说此时B中有一套A或B中定过的成员。
当C继承B时,C是不知道有A的存在的,因为C所继承到的都在B中;所以C是不能调用在B中已经复写的A的方法。
个人见解,也不知道对不对,有明白的可以给指点一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马