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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 cs8630323 于 2013-9-30 20:10 编辑


不是说子类重写父类要求子类方法权限大于等于父类方法吗?这里为什么可以重写?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

6 个回复

正序浏览
chensc 金牌黑马 2013-10-3 16:07:40
7#
学习学习!
回复 使用道具 举报
学习学习!
回复 使用道具 举报
楼上同学回答的都挺好。关键就在于楼主的代码里是不存在方法覆盖的,你代码里的子父类里都没有方法而只有成员变量。方法覆盖:子类中包含与父类方法同名的方法,也称为方法重写。方法重写的规则有:1、子类方法返回值类型<=父类;2、子类方法声明抛出的异常<=父类;3、子类方法的访问权限>=父类。这里的方法指的是子类中的覆盖方法和父类中的被覆盖方法,要注意的是这俩方法必须一致,要么都是静态的,要么都是非静态的。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
你自己提问题的时候写的也是方法的权限,怎么看问题的时候看成变量了,要仔细呀,亲
回复 使用道具 举报
童鞋,子类重写父类的方法权限是要大于父类,并且抛出的异常不能比父类多。这前面有个--->“的”字,还有tag不是 只是 有初始化值得成员变量吗?哪里有方法?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
楼主同学,成员变量没有重写,只有方法才有的,不是有句话成员变量看左边么,多态学的不怎么扎实啊。
去看看老毕视频吧。

评分

参与人数 1黑马币 +5 收起 理由
乔兵 + 5

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马