11.29

作者: 迷人的酋长 | 来源:发表于2017-12-03 10:21 被阅读0次
    1. 重载(overload):是指在同一个类中,多个方法拥有相同的方法名,但参数列表必须
      不同(参数个数或参数类型或参数次序不同)。
      方法重载与修饰符、返回类型无关,可以相同,可以不同。
    class Animal{
      public int add(int a,int b){
           System.out.println("add(int a,int b)");
           return a + b;
       }
       public double add(double a,double b){
           System.out.println("add(double a,double b)");
           return a + b;
       } }
    
    1. 重写(override):是指子类继承父类,子类对父类的方法进行重新编写,但方法名、
      参数列表与返回类型必须一致,方法体不同。
       class Animal{
        public int getAge(){
            return age;
        } }
    class Dog extends Animal{
        public int getAge(){
            System.out.println("子类中的getAge()....");
            return age;
        } }
    

    注:(1)声明为static和final的方法不能被重写;
    (2)构造方法不能被重写;
    (3)不能被继承的方法也不能被重写;
    (4)调用父类中的原方法时使用 super.方法名()。

    1. 区别:
      1. 返回类型不能作为区别重载与重写的标准。
      2. 访问修饰符的限制必须大于被重写方法的修饰符;而重载可以是任意的修饰符。
      3. 重写方法不能抛出新的检查型异常,也不能抛出比父类更宽泛的检查型异常;
      而重载可以抛出任意的异常。

    相关文章

      网友评论

          本文标题:11.29

          本文链接:https://www.haomeiwen.com/subject/vgkabxtx.html