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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不再上网 中级黑马   /  2014-8-15 20:42  /  1569 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

覆盖方法时的注意事项是什么?

7 个回复

倒序浏览
重写的意思呗,就是方法声明完全一样,方法体不同就行了
回复 使用道具 举报
本帖最后由 安宁.沉睡 于 2014-8-16 07:24 编辑

覆盖方法要注意:让函数返回值,函数名,函数参数列表都一样, 并且要确定想覆盖放方法不是被final修饰的(final 修饰的方法不准覆盖)
回复 使用道具 举报
除了函数体,其他都要一模一样
回复 使用道具 举报
安宁.沉睡 发表于 2014-8-15 20:56
覆盖方法要注意:让函数返回值,函数名,函数参数列表都一样, 并且要确定想覆盖放方法不是被final修饰的( ...

还有些补充
1.        子类同名函数权限必须大于或等于父类同名函数才能覆盖,否则编译失败
2.        静态属性和函数只能覆盖静态的
3.        同名覆盖后,在类中可以用this, super 关键字区分调用子类,父类同名属性和函数,默认为this
回复 使用道具 举报
安宁.沉睡 发表于 2014-8-16 07:24
还有些补充
1.        子类同名函数权限必须大于或等于父类同名函数才能覆盖,否则编译失败
2.        静态属性和函数只 ...

继续补充一点
构造函数不可以被重写,因为构造函数名不可能一样
回复 使用道具 举报
安宁.沉睡 发表于 2014-8-15 20:56
覆盖方法要注意:让函数返回值,函数名,函数参数列表都一样, 并且要确定想覆盖放方法不是被final修饰的( ...

补充:重写的方法"权限"应该大于等于原方法
回复 使用道具 举报
1:被覆盖的方法在父类中,重写的方法在子类中
2:子类中的 方法访问权限等于或大于父类中的方法
    子类中方法抛出异常类型小于或等于父类中方法抛出异常
     子类方法返回值类型小于或等于父类方法返回值类型
3:非静态方法只能覆盖非静态方法
4:方法名必须一致,参数必须一致
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马