色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java重寫和重載的區(qū)別

楊偉東1年前6瀏覽0評論

Java是一門面向?qū)ο蟮木幊陶Z言,其中有兩個重要的概念:重寫(Override)和重載(Overload)。雖然它們在語法上很相似,但是它們的含義和作用是不同的。

重寫是指子類重新定義父類中已有的方法,使方法的調(diào)用符合子類對象的特征。即子類通過繼承父類,重新實現(xiàn)一個同名、同參數(shù)的方法。其中,重寫的方法必須和被重寫的方法的簽名一模一樣,即方法名和參數(shù)列表必須一致,返回值和訪問修飾符可以和被重寫的方法不同。這樣,當子類對象調(diào)用該方法時,就會執(zhí)行子類中的方法,而不再是執(zhí)行父類中的方法。

class Animal {
public void eat() {
System.out.println("Animal eats.");
}
}
class Cat extends Animal {
// override the eat() method
public void eat() {
System.out.println("Cat eats fish.");
}
}
public class Main {
public static void main(String[] args) {
Animal a = new Animal(); // Animal object
a.eat(); // output: Animal eats.
Cat c = new Cat(); // Cat object
c.eat(); // output: Cat eats fish.
}
}

重載是指在同一個類中,方法名相同但參數(shù)列表不同,就稱為方法的重載。即同一個類中可以定義多個同名但入?yún)⒉煌姆椒ǎ瑏韺崿F(xiàn)不同的功能。在重載時,同樣的方法名、不同的參數(shù)組成了方法的簽名,編譯器會根據(jù)傳入的參數(shù)類型和數(shù)量的不同,自動匹配到對應的方法進行調(diào)用。

class Calculator {
public int add(int a, int b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
public class Main {
public static void main(String[] args) {
Calculator c = new Calculator();
System.out.println(c.add(1, 2)); // output: 3
System.out.println(c.add(1, 2, 3)); // output: 6
}
}

總結來說,重寫是子類重新實現(xiàn)一個與父類同簽名的方法,重載是同一個類中有多個同名但入?yún)⒉煌姆椒ǎ糜趯崿F(xiàn)方法的多態(tài)。了解這兩個概念的區(qū)別,有助于編寫更加規(guī)范、易讀的Java程序。