iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
Software Development

Java入門的30張門票系列 第 10

[Day10] 什麼是方法多載

  • 分享至 

  • xImage
  •  

什麼是方法多載overloading?
它讓類似功能的方法可以有同樣的方法名稱,java會自動根據參數的型態和數量來呼叫相對應的方法。像是以下程式碼,方法名稱都是print,只是傳入的參數分別是int、float和double,真正在呼叫的時候java可以判斷你傳的參數是什麼型別,假設傳入int,便會呼叫第一個方法。

public void print(int i)
public void print(float j)
public void print(double k)

但要注意的是若參數型態及數量皆相同,就會發生重複宣告的錯誤,就算傳回值型態不同也不行。

void mothod(int i)
int mothod(int j)
string mothod(int k)

下面直接示範一題,在這個類別中有三個計算不同面積的方法,名稱都是相同的只是傳入的參數數目不同。當主程式呼叫時可以看到裡面只有一個數值而且是double,java就會自動呼叫計算圓形面積的方法,如果你傳入兩個double就是呼叫計算長方形面積的方法,但如果你傳入的參數跟上面三個方法都沒有對應到就會發生錯誤。

public class GetArea {
    // 計算圓形面積
    public static double areaMeasure(double radius){	
      return radius * radius * 3.14;
    }
    // 計算長方形面積
    public static double areaMeasure(double height, double width){	 	
      return height * width;
    }
    // 計算梯形面積
    public static double areaMeasure(double upper, double bottom, double height){	
      return (upper+bottom) * height / 2;
    } 
    
    public static void main(String args[]) {
       double i =  areaMeasure(3.0); 
       System.out.println("面積=" +i);
    } 
}

上一篇
[Day9] method建立 & 使用
下一篇
[Day11] 把錢裝進保險箱 - 封裝
系列文
Java入門的30張門票30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言