2015-09-30 54 views
0

方法重載用於在傳遞的變量數量不變的情況下執行不同類型的任務(即...,每個變量都有不同類型的代碼,具體取決於傳遞的參數)。但什麼是可變參數的必要性,即..,我們可以傳遞多個參數。但是我們怎樣才能使得代碼的差異傳遞給沒有變量,即..,多個參數下的多個任務?可變參數與方法重載

回答

1

可變參數是傳遞數組的簡稱。例如,而不是寫

public static void main(String[] args) { 
    for(String arg : args) 
     System.out.println(arg); 

你可以代替寫

public static void main(String... args) { 
    for(String arg : args) 
     System.out.println(arg); 

的主要區別是,來電者現在可以編寫

main("hello", "world"); 
0

VARARGS時,有數量不確定的使用方法所需的參數(對象)。一個典型的例子是Java的Formatter

一個例子是這樣:

String.format("My name is %s", myName); 
String.format("My name is %s %s", myFirstName, myLastName); 
String.format("My name is %s %s and I am %d years old", myFirstName, myLastName, myAge); 
0

讓我們假設你要計算四邊形的體積。第一種情況是計算矩形區域,它需要三個參數。第二種情況是,如果計算只需要一個參數的多維數據集的區域,並且第三種情況可能沒有值傳遞。讓我們通過一個例子看看: 僅供說明用途

Class Volume(){ 

Volume(){ 
this (-1, -1, -1) 
} 
Volume(int x){ 
this (x, x, x) 
} 
volume(int x, y, z) 
length = x; 
breadth = y; 
height = z; 
} 
public int getVolume(){ 
return length*breadth*height 
} 

這是已知的場景,並沒有其他的選擇是可能的,但如果你不確定數量的參數中,我們使用varags。 在上述情況下,我們沒有使用varags,因爲它們效率較低,消耗更多空間,並且它更加危險,因爲它允許用戶傳遞任意數量的參數,而不是上述示例中的情況。