重写和重载的区别(记住以下5点)
-
重载和重写的区别
名称 | 发生范围 | 方法名 | 形参列表 | 返回类型 | 修饰符 |
重载(覆盖) | 本类 | 必须一样 | 类型、参数个数、顺序至少有一个不同 |
无要求 |
无要求 |
重写 | 父类 | 必须一样 | 相同 | 子类重写的方法返回类型和父类的返回类型一致或与父类的子类一致 | 子类方法不能缩小父类方法的访问权限 |
-
方法重载
-
Java中允许同一个类中,有多个同名的方法,但是要求形参列表不一致(可变形参)。
-
好处:减轻了起名的麻烦,减轻了记名的麻烦
-
细节:
-
方法名必须相同
-
形参列表必须不同(形参列表或个数或顺序至少有一个不同)参数名无要求。
-
返回类型无要求,可以相同可以不同
-
-
方法重写(覆盖)
-
方法重写就是子类有一个方法和父类的某个方法的名称,返回类型,参数列表一样,我们就说类的这个方法覆盖了父类的方法
-
细节:
-
子类方法的形参列表,方法名称 要和父类的形参列表,方法名称一样
-
子类的返回类型和父类的方法返回类型一样,或者是父类返回类型的子类 例如:父类的方法返回类型是object ,子类返回类型是String,也构成重写
-
子类方法不能缩小缩小父类 方法的访问权限
-