首頁 > 軟體

Java 方法的過載與引數傳遞詳解

2022-04-09 19:00:31

方法過載概述

方法過載指同一個類中定義的多個方法之間的關係,滿足下列條件的多個方法互相構成過載

* 多個方法在同一個類中

* 多個放方法具有相同方法名

* 多個方法的引數不相同,型別不同或數量不同

方法過載特特點

* 過載僅對應方法的定義,與方法的呼叫無關,呼叫方法參照標準格式

* 過載僅針對同一個類中方法的名稱與引數進行識別,與返回值無關,換句話說不能通過返回值來判斷兩個方法是否構成過載

範例:

 public class MethodDemo{
         public static float  fn(int a){
            //方法體
         }
 public static int  fn(int a,int b){
            //方法體
          }
 }

方法過載練習

需求:使用方法過載的思想,設計比較兩個整數是否相同的方法,相容全整數型別(byte,short,int,long)

思路:

1.定義比較兩個數位的是否相同的方法compare()方法,引數選擇兩個int型引數

public static boolean compare(int a,int b){
          return a==b;
}

2.定義對應的過載方法,變更對應的引數型別,引數變更為兩個long型引數

public static boolean compare(long a,long b){
          return a==b;
}

3.定義所有過載方法,兩個byte型別與兩個short型別引數

public static boolean compare(byte a,byte b){
         //程式碼片段
}
public static boolean compare(short a,short b){
          //程式碼片段
}

4. 完成方法呼叫,執行測試結果

public static void main(String args[ ]){
       system.out.println(cpmpare(10,20));
}

範例程式碼:

 
public class hmm081 {
    public static void main(String[] args) {
        //呼叫方法
        System.out.println(compare(10,20));
        //強轉
        System.out.println(compare((byte)10,(byte)20));
        System.out.println(compare((long)10,(long)10));
    }
    public static boolean compare(int a,int b){
        System.out.println("int");
        return a==b;
    }
    public static boolean compare(long a,long b){
        System.out.println("long");
        return a==b;
    }
    public static boolean compare(byte a,byte b){
        System.out.println("byte");
        return a==b;
    }
    public static boolean compare(short a,short b){
        System.out.println("short");
        return a==b;
    }
}

方法引數傳遞

方法引數傳遞(基本型別)

對於基本資料型別引數,形式引數的改變,不影響實際引數的值

 雖然形參change()內的number改變,但main()引數不變,不影響實際引數值,所以第二次輸出結果還是100

方法引數傳遞(參照型別)

對於參照型別的引數,形式引數的改變,影響實際引數的值,如陣列。

到此這篇關於Java 方法的過載與引數傳遞詳解的文章就介紹到這了,更多相關Java 方法過載內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com