在 Java 中,方法的多載(Overloading)和覆寫(Overriding)是兩個重要的概念,它們都涉及到方法的定義與使用,但作用和規則有所不同,
多載(Overloading)
多載是指在同一個類中定義多個同名的方法,但它們的引數串列不同(引數的個數、型別或順序不同),多載允許我們使用相同的方法名來實作不同的功能,提高了代碼的可讀性和可維護性,
下面是一個多載的例子:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
在這個例子中,Calculator 類有三個 add 方法,分別接受不同數量和型別的引數,當我們呼叫 add 方法時,Java 會根據傳入引數的型別和數量自動選擇正確的方法,
Calculator calculator = new Calculator();
int result1 = calculator.add(1, 2); // 呼叫第一個 add 方法,輸出 3
double result2 = calculator.add(1.0, 2.0); // 呼叫第二個 add 方法,輸出 3.0
int result3 = calculator.add(1, 2, 3); // 呼叫第三個 add 方法,輸出 6
覆寫(Overriding)
覆寫是指子類重新定義父類的方法,以實作自己的功能,當子類覆寫父類的方法時,方法名、引數串列和回傳型別必須與父類完全相同,覆寫允許我們在不修改父類的基礎上,定制子類的行為,
下面是一個覆寫的例子:
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
}
在這個例子中,Dog 和 Cat 類都繼承了 Animal 類,并分別覆寫了 makeSound 方法,當我們呼叫 makeSound 方法時,Java 會根據物件的實際型別選擇正確的方法,
Animal myAnimal = new Animal();
myAnimal.makeSound(); // 輸出 "The animal makes a sound"
Animal myDog = new Dog();
myDog.makeSound(); // 輸出 "The dog barks"
Animal myCat = new Cat();
myCat.makeSound(); // 輸出 "The cat meows"
注意,當子類覆寫父類的方法時,可以使用 @Override 注解來顯式宣告,這樣,如果我們不小心修改了方法簽名或者拼寫錯誤,編譯器會報錯,幫助我們捕獲潛在的錯誤,
總結一下,多載和覆寫是 Java 中兩個重要的概念,多載允許我們在同一個類中定義多個同名但引數串列不同的方法,實作不同的功能,覆寫允許子類重新定義父類的方法,定制自己的行為,理解這些概念并在實際編程中應用它們,可以幫助我們撰寫更高效、易讀的代碼,


推薦閱讀:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/553832.html
標籤:其他
下一篇:返回列表
