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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迷你卡卡 中级黑马   /  2013-10-9 15:02  /  1705 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 迷你卡卡 于 2013-10-9 21:02 编辑

在另外一种方法重写中,即通过抽象类中的抽象方法,当子类继承父类,需要重写父类中的抽象方法时,这里的这个方法重写的返回值,参数,访问修饰符可以更改吗?还是求大神指导!

评分

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

查看全部评分

5 个回复

倒序浏览
重写的概念:是子类(即派生类)的方法覆盖父类(即基类)的虚方法。覆盖我们要做到全方位,对吧!呵呵
回复 使用道具 举报
子类必须能够访问父类的方法,所以子类的权限至少应该等于父类的
回复 使用道具 举报
方法重写(overiding method)

子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
2方法重写的特性

关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条是不是能确定第一条,子类方法的返回值必须是父类方法返回值的子类。

评分

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

查看全部评分

回复 使用道具 举报
不可以更改。
回复 使用道具 举报
多谢各位的解答,明白了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马