zoukankan      html  css  js  c++  java
  • 重写(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;
        }
    }
  • 相关阅读:
    linux docker常用命令
    angular input输入框自动消除前后空格
    angular 一览数据全选符合条件数据
    linux MySQL出现错误的一些常见解决办法
    linux crontab定时任务一些命令
    Linux下定时访问指定url地址
    直接打印对象的结果
    java中变量的作用域
    请求转发后地址栏显示传入的值,页面不显示的原因
    String不是基本数据类型,但是
  • 原文地址:https://www.cnblogs.com/yanhowever/p/10618284.html
Copyright © 2011-2022 走看看