Java中的overload(重載)和override(重寫)是兩個不同的概念。
重載(overload)指的是在同一個類中,可以定義多個方法名相同但參數列表不同的方法。重載的方法具有相同的方法名,但參數列表不同,可以有不同的返回類型。重載方法可以根據不同的參數列表來執行不同的操作。
例如:
public class MyClass {
public void print(int num) {
System.out.println("Print int: " + num);
}
public void print(String str) {
System.out.println("Print String: " + str);
}
}
在上面的例子中,MyClass類中有兩個名為print的方法,一個接受int類型的參數,另一個接受String類型的參數。這就是方法的重載。
重寫(override)指的是在子類中重新定義父類中已經定義的方法。重寫的方法具有相同的方法名、參數列表和返回類型。子類中的重寫方法可以覆蓋父類中的方法,使其具有不同的實現。
例如:
public class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("Cat meows");
}
}
在上面的例子中,Animal類中有一個名為sound的方法,Cat類繼承自Animal類,并重寫了sound方法。Cat類中的sound方法覆蓋了父類Animal中的sound方法,使得Cat類的對象調用sound方法時輸出不同的結果。這就是方法的重寫。
總結:
重載(overload)是在同一個類中定義多個方法名相同但參數列表不同的方法。
重寫(override)是子類中重新定義父類中已經定義的方法。