请问下面两种写法报错和不报错的原因?为什么传入参数就不会报错?
如有帮助,请采纳!
首先,你这两个方法都不是重写,重写的定义是要遵循"两同两小一大原则"即
第一个代码不出错的原因: 是父类和子类的方法毫无关联,它们是单独的方法,所以不会有报错。
第二个代码出错的原因: 子类和父类的方法存在冲突,要么你按照重写的规则修改子类的方法,要么将子类的方法名修改成和父类不一样的。
子类重写父类方法时方法名,方法返回值,方法入参,皆不可变。
你的返回值从float变为void了,所以不行
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!