有点混乱,有几个没懂。
1,重写和覆盖有什么区别,为什么覆盖的和被覆盖的方法要一模一样,这样的话什么情况下用覆盖?最好有个例子。
2,重写就是在子类中重新写一个同名的方法吗,然后引用对象不同就输出不一样?
3,重载是不是就是同一个方法名,然后参数类型和数目的不同,应用的时候自动匹配?重载还有其他作用吗?
4,如果重载就那个作用,那对于重写和覆盖我就根本看不出来有区别或者说用于什么地方?
希望帮我解答一下,谢谢。



关于重写,重载,覆盖的几个问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
谜知晓x嘘 2017-03-08 13:07关注都要求方法同名。
都可以用于抽象方法和非抽象方法之间。
方法覆盖和方法重载具有以下不同点:
方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致
方法覆盖要求返回类型必须一致,而方法重载对此不做限制。
方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承而来的方法)。
方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制。
父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次。解决 无用评论 打赏 举报