重写(override)与重载(overload)
作者:互联网
重写(override)
同一种东西随时随地都只有一种含义,只是原先的含义完全被后来取代了
重写(override)方法必须满足下列条件
1.子类方法的名称及参数必须和所覆盖的方法相同
2.子类方法的返回类型必须和覆盖的方法相同
3.子类方法不能缩小所覆盖方法的访问权限
4.子类方法不能抛出比覆盖方法更多的异常
重载(overload)
同一种东西在不同地方有多种含义
重载(overload)方法必须满足下列条件
1.方法名必须相同
2.方法的参数的个数或者类型必须不同,都相同的话则不是重载
3.方法的返回类型和方法的修饰符可以不相同
public class leetcode_testcase { //下面两个uniquePaths的参数不同,则为重载,不报错 public int uniquePaths(int m, int n) { return 0; } public int uniquePaths(int m, int n,int y) { return 0; } }
public class leetcode_testcase { //下面两个uniquePaths的参数不同,为重载,不报错 public int uniquePaths(int m, int n) { return 0; } public int uniquePaths(int m, int n,int y) { return 0; } //第三个uniquePaths函数与第二个uniquePaths函数只有返回值不同 //则显示Duplicate method uniquePaths(int, int, int)的错误 public float uniquePaths(int m, int n,int y) { return 1.0; } }
public class overrideCase extends leetcode_testcase { //因为uniquePaths方法的参数和返回值与父类的uniquePaths方法相同 //则overrideCase子类重写了父类leetcode_testcase的uniquePaths方法 public int uniquePaths(int m, int n) { return 2; } }
标签:uniquePaths,return,int,子类,overload,重载,override,方法,public 来源: https://www.cnblogs.com/yanhowever/p/10618284.html