重载与重写的区别

一、重写(实现过程不同)

是子类对父类允许访问的方法的实现过程的重新编写。

  1. 方法名、参数列表必须相同,子类方法返回值类型应比父类方法返回值类型更小或相等,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类。

    “两同两小一大”

  2. 如果父类方法访问修饰符为 private/final/static 则子类就不能重写该方法,但是被 static 修饰的方法能够被再次声明。

  3. 构造方法无法被重写

二、重载(参数列表不同)

在同一个类中(或者父类和子类之间),方法名必须相同,参数列表一定不同(类型、个数、顺序,三者一个或多个不同),方法返回值和访问修饰符可以不同。

三、记忆方法

函数是道题,重写写过程,重载改题目(参数)。

重写写过程:一道题做错了老师要求重写,当然是重新写解题过程

重载改题目(参数):重新写了正确的解题过程后想要找一道类似的题目练练手,改下题目的参数是最简单的办法了。重载->重新加载,重新加载一道新题来写,题目(参数)肯定不一样。