Java-方法重写/覆盖
方法重写/覆盖override
【基本含义】
方法重写(覆盖)就是子类有一个方法,和上级父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。
【如何进行方法重写】
需要满足下面的条件:
-
子类的方法的参数,名称要和父类方法的参数、名称完全一样
-
子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类。比如:父类返回类型是Object,子类方法返回类型是String,这样也可以
-
子类方法不能缩小父类方法的访问权限
【重载和重写的区别】
重载:只需要方法名相同以及形参列表不同即可
(同名不同参)
重写:权限修饰符,返回类型,方法名,形参列表都有相对应的要求
(同名同参)
(但是不同的时候编译也可以通过,这是否意味着这两个方法并不是重写,而是两个不同的方法了?)