參數類型…… 形參名
1.1 可變參數
在JDK1.5之後,如果我們定義一個方法需要接受多個參數,並且多個參數類型一致,我們可以對其簡化成如下格式:
修飾符 返回值類型 方法名(參數類型... 形參名){ }
其實這個書寫完全等價與
修飾符 返回值類型 方法名(參數類型[] 形參名){ }
只是後面這種定義,在調用時必須傳遞數組,而前者可以直接傳遞數據即可。
jdk1.5以後。出現了簡化操作。... 用在參數上,稱之為可變參數。
同樣是代表數組,但是在調用這個帶有可變參數的方法時,不用創建數組(這就是簡單之處),直接將數組中的元素作為實際參數進行傳遞,其實編譯成的class文件,將這些元素先封裝到一個數組中,在進行傳遞。這些動作都在編譯.class文件時,自動完成了。
Advertisements
代碼演示:
publicclass ParamDemo {
publicstaticvoid main(String[] args) {
int[] arr = {21,89,32};
int sum = add(arr);
System.out.println(sum);
sum = add(21,89,32);//可變參數調用形式
System.out.println(sum);
}
//JDK1.5之後寫法
publicstaticint add(int...arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
Advertisements
}
return sum;
}
//原始寫法
}
上述add方法在同一個類中,只能存在一個。因為會發生調用的不確定性
注意:如果在方法書寫時,這個方法擁有多參數,參數中包含可變參數,可變參數一定要寫在參數列表的末尾位置。