方法重载 :在同一个类中,允许存在多个同名方法,只要它们的参数列表不同,与修饰符和返回值类型无关,这样的多个同名方法之间构成重载。 参数列表:参数个数,参数类型,参数顺序 方法调用:根据实际传入的参数决定调用哪个方法。
代码示例:
public class OverloadTest { public static void main(String[] args) { //根据实际传入的参数决定调用哪个方法 sum(); System.out.println(sum(15));; System.out.println(sum(10.5d, 15.3d));; } public static void sum() { System.out.println(10 + 10); } private static int sum(int a) { return a + 10; } static double sum(double a, double b) { return a + b; } }
方法重写 :当父类中的方法对于子类来说不适用时,子类可以对从父类中继承来的方法进行重写/覆写。 方法调用:根据对象所属的类决定调用哪个类的方法。
class Father { void show() { System.out.println("Father show"); } } class Son extends Father { @Override public void show() { System.out.println("Son show"); } } public class OverrideTest { public static void main(String[] args) { Father f1 = new Father(); f1.show(); //多态引用,实际创建还是子类对象,调用的也是子类重写的show方法 Father f2 = new Son(); f2.show(); } }
区别总结 :
原文链接:https://www.cnblogs.com/sun10367/p/13543850.html