Переменные параметры
Переменные параметры - это метод, который может получить любое количество параметров! Например: Fun (), Fun (1), Fun (1,1), Fun (1,1,1). Вы можете подумать, что это перегрузка метода, но это не перегрузка. Подумайте о том, сколько методов можно перегрузить путем перегрузки, и метод Fun () может пройти любое количество параметров. Можете ли вы перегрузить так много методов?
2.1 Определение методов переменных параметров
public voidfun (int… arr) {}
Тип параметров приведенного выше метода Fun () INT ..., где "..." - не эллипсис, а способ определить тип параметра. ARRAMER ARR - это тип переменного параметра. Вы можете понять приведенный выше код как: public void Fun (int [] arr).
public int sum1 (int [] arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; } public int sum2 (int ... arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; }Вы можете думать, что «int []» и «int ...» ничем не отличаются, но «int ...» - это просто «int ...» - это новый способ определения параметров массива. Тогда я должен поздравить вас! Правильно, это верно! Но имейте в виду, что только int ... может быть использован вместо int [] в формальных параметрах метода.
2.2 Вызовы с переменными параметрами
Вызовы к двум методам sum1 () и sum2 ():
sum1 (new int [] {1,2,3}); sum2 (new int [] {1,2,3}); Это не похоже на разницу! Но есть еще один способ назвать sum2:
sum2 (); sum2 (1); sum2 (1,2); sum2 (1,2,3);
Это похоже на использование любого количества параметров для вызова метода sum2 (), что является преимуществом вызова метода с переменными параметрами.
2.3 Компилятор "вторичная обработка"
Результатом «вторичной обработки» определения компилятора метода SUM2 является:
public int sum2 (int [] arr) {int sum = 0; for (int i = 0; i <arr.length; i ++) {sum+= arr [i]; } return sum; }То есть изменить "int ..." на тип "int []".
Результатом квадратичной загрузки вызова компилятора к методу SUM2 является:
sum2 (new int [0]); sum2 (new int [] {1}); sum2 (new int [] {1, 2}); sum2 (new int [] {1, 2, 3}); Вывод: переменные параметры на самом деле являются типами массива, но они более удобны при вызове методов. Компилятор помогает нам поместить несколько реальных параметров в массив и передать их формальным параметрам.
2.4 Ограничения методов переменных параметров
l Метод может иметь только один измененный параметр максимум;
l Переменный параметр должен быть последним параметром метода.
Выше приведено полное содержание краткого обсуждения переменных параметров в Java, доставленных вам редактором. Я надеюсь, что это будет полезно для всех и поддерживать wulin.com больше ~