override(4个一致1个不一致)

子类继承父类的方法的时候,

〇方法名一致

〇方法名后面的参数

  类型一致

   顺序一致

  个数一致

〇方法里输出的内容不一致

举例 三个文件

①SuperClass.java

②SubClass.java

③Main.java

 

SuperClass.java

----------------------------------------------------------------------------------------

package test02;

public class SuperClass {
    protected int i1 = 1;
    protected int i2 = 2;

    public void calc() {
        System.out.println("i1+i2 = " + (i1 + i2));
    }
}

java override 重写   overload重载

②SubClass.java

----------------------------------------------------------------------------------------

package test02;

class SubClass extends SuperClass {
    @Override
    public void calc() {
        System.out.println("i1*i2 = " + (i1 * i2));
    }

}
 

java override 重写   overload重载

③Main.java

----------------------------------------------------------------------------------------

package test02;

public class Main {

    public static void main(String[] args) {
        SubClass sc = new SubClass();
        sc.calc();
    }
}
 

java override 重写   overload重载

 

 

执行Main.java,输出 i1*i2 = 2

java override 重写   overload重载

 

 

overload(1个一致3个不一致)

〇方法名一致

〇方法名后面的参数

  类型,不一致。

    顺序,不一致。

    个数不一致

 

※方法的返回值类型无关

 

 

----------------------------------------------------------------------------------------

举例一

〇方法名一致

〇方法名后面的参数类型,不一致。

 

Main.java

----------------------------------------------------------------------------------------

public class Main {
    public static int add(int x, int y) {
        return x + y;
    }

    public static double add(double x, double y) {
        return x + y;
    }

    public static String add(String x, String y) {
        return x + y;
    }

    public static void main(String[] args) {
        System.out.println(add(10, 20));
        System.out.println(add(3.4, 6.6));
        System.out.println(add("Hello", "World"));
    }

}

java override 重写   overload重载

 

----------------------------------------------------------------------------------------

举例二

〇方法名一致

〇方法名后面的参数个数,不一致。

 

Main.java

----------------------------------------------------------------------------------------

package test01;

public class Main {
    public static int add(int x, int y) {
        return x + y;
    }

    public static int add(int x, int y, int z) {
        return x + y + z;
    }

    public static void main(String[] args) {
        System.out.println("10+20=" + add(10, 20));
        System.out.println("10+20+30=" + add(10, 20, 30));
    }
}
 

java override 重写   overload重载

本文到此结束

相关文章: