方法重写/覆盖override

【基本含义】

方法重写(覆盖)就是子类有一个方法,和上级父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。

【如何进行方法重写】

需要满足下面的条件:

  1. 子类的方法的参数,名称要和父类方法的参数、名称完全一样

  2. 子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类。比如:父类返回类型是Object,子类方法返回类型是String,这样也可以

  3. 子类方法不能缩小父类方法的访问权限

【重载和重写的区别】

重载:只需要方法名相同以及形参列表不同即可
(同名不同参)

重写:权限修饰符,返回类型,方法名,形参列表都有相对应的要求
(同名同参)
(但是不同的时候编译也可以通过,这是否意味着这两个方法并不是重写,而是两个不同的方法了?)

image

版权声明:本文为ffforward原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ffforward/p/15212398.html