Parameter variabel
Parameter variabel adalah metode yang dapat menerima sejumlah parameter! Sebagai contoh: fun (), fun (1), fun (1,1), fun (1,1,1). Anda mungkin berpikir ini adalah metode yang berlebihan, tetapi ini bukan kelebihan beban. Pikirkan tentang berapa banyak metode yang dapat kelebihan beban dengan kelebihan beban, dan metode fun () dapat melewati sejumlah parameter. Bisakah Anda kelebihan banyak metode?
2.1 Mendefinisikan metode parameter variabel
public voidfun (int ... arr) {}
Tipe parameter dari metode di atas menyenangkan () adalah int ..., di mana "..." bukan elipsis, tetapi cara untuk menentukan tipe parameter. Parameter ARR adalah jenis parameter variabel. Anda dapat memahami kode di atas sebagai: public void fun (int [] arr).
publik int sum1 (int [] arr) {int sum = 0; untuk (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; } public int sum2 (int ... arr) {int sum = 0; untuk (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; }Anda mungkin berpikir bahwa "int []" dan "int ..." tidak berbeda, tetapi "int ..." hanya bahwa "int ..." adalah cara baru untuk mendefinisikan parameter array. Maka saya harus memberi selamat kepada Anda! Benar, itu benar! Tetapi ketahuilah bahwa hanya int ... dapat digunakan sebagai ganti int [] dalam parameter formal metode.
2.2 Metode Panggilan dengan Parameter Variabel
Panggilan ke dua metode sum1 () dan sum2 ():
sum1 (int baru [] {1,2,3}); sum2 (int baru [] {1,2,3}); Ini tidak terlihat seperti perbedaan! Tapi ada cara lain untuk menelepon SUM2:
SUM2 (); SUM2 (1); SUM2 (1,2); SUM2 (1,2,3);
Ini terlihat seperti menggunakan sejumlah parameter untuk memanggil metode SUM2 (), yang merupakan manfaat memanggil metode dengan parameter variadik.
2.3 Kompiler "Pemrosesan Sekunder"
Hasil "pemrosesan sekunder" dari definisi kompiler dari metode SUM2 adalah:
publik int sum2 (int [] arr) {int sum = 0; untuk (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; }Yaitu, memodifikasi "int ..." menjadi "int []".
Hasil pemuatan kuadratik dari panggilan kompiler ke metode SUM2 adalah:
SUM2 (baru int [0]); sum2 (int int [] {1}); sum2 (int baru [] {1, 2}); sum2 (int int [] {1, 2, 3}); Kesimpulan: Parameter variabel sebenarnya adalah jenis array, tetapi mereka lebih nyaman saat metode panggilan. Kompiler membantu kita memasukkan beberapa parameter nyata ke dalam array dan meneruskannya ke parameter formal.
2.4 Keterbatasan Metode Parameter Variabel
L Suatu metode hanya dapat memiliki satu parameter yang dapat berubah paling banyak;
l Parameter variabel harus menjadi parameter terakhir dari metode ini.
Di atas adalah konten lengkap dari diskusi singkat parameter variabel di Java yang dibawa kepada Anda oleh editor. Saya harap ini akan membantu semua orang dan lebih mendukung wulin.com ~