
C和D都是方法的腊旁渗重载,所以也没有问题。重载就是方法名相同,但参数不同。
B方法名相同,参数相同,返回类型不启伍同,这样的方法是模棱两可的,当子类调用的时候,根本区分不出来该调用父类的方法还是自己本身的方法,所以这种方法编译直接pass掉。
C带了参数,默认不是一个方链滚法了,对于继承,要么重笑碰写相碰唤谈同方法(返回值类型必须一致),要么重载方法。AB是重写,CD是重载,但是B返回值类型不一致,所以B错
lyx4228716是对的
如果方法的签名不同,那就是方法重载游雹。方法的签名一致就是形参的个数,类型,顺序必须一致袭哗。
如果方法的签名相同,那就是重写/覆盖原神禅帆有的方法,要求返回类型一致或者是原有类型的子类
A是重写覆盖
B是错误的,因为返回类型不兼容
C D都是重载
那你觉得陆碰c为什么不汪枝对呢?c的函数返回类型为void,则代表函数体不需要返回任何东西,那函数体早陵谈就允许为空了
B继承A实现的是他的方法,是要有返回值的