為什麼在 Java 中透過僅更改方法的返回型別無法實現方法過載?
過載是根據傳遞給方法呼叫的引數,動態繫結方法呼叫與方法主體的機制。
如果您觀察以下示例,它包含兩個具有相同名稱、不同引數的方法,如果您透過傳遞兩個整數值來呼叫方法,則將執行第一個方法,如果您透過傳遞 3 個整數值來呼叫方法,則將執行第二個方法。
無法根據返回型別決定執行哪一個方法,因此,僅透過更改方法的返回型別無法實現過載。
示例
public class Sample{
public int add(int a, int b){
int c = a+b;
return c;
}
public void add(int a, int b, int c){
int z = a+b+c;
System.out.println(z);
}
public static void main(String args[] ){
Sample obj = new Sample();
System.out.println(obj.add(40, 50));
obj.add(40, 50, 60);
}
}
輸出
90 150
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP