Передает ли Java массив по ссылке на Method?

Веб-разработка на Java Программирование и разработка

Передает ли Java массив по ссылке на метод? Да, и это единственный способ передать массив функции в Java. В Java функция называется методом и является членом класса. Больше хороших новостей! Метод в Java может возвращать массив, и это по ссылке. Идентификатор массива является ссылкой.

Напомним: типичный программный файл Java имеет основной класс с методом main(). Имя основного метода — main. Однако имя основного класса не является основным. Это имя, выбранное программистом. Это также имя файла. Этот основной класс может иметь другие члены (свойства и функции). Другие классы вне основного класса могут иметь свои свойства и методы. В этой статье метод main не связан с передачей и возвратом массива. В Java свойство называется полем.

А также в этой статье показано, как передать массив методу и вернуть массив из метода по ссылке. Класс массива не нужно импортировать для этой программы.

Метод в отдельном классе

Передача по ссылке

В этом разделе статьи метод получения массива находится в отдельном классе, а не в основном классе. Пример такого класса:

    class AClass {
char func(char[] chs) {
return chs[2];
}
}

Имя этого дополнительного класса — Aclass. Он имеет только один член, который является методом. Имя метода func. Он имеет только один параметр, который является объявлением массива. Он возвращает символ. Возвращаемый символ находится на третьей позиции полученного массива (индекс 2).

В методе main() можно использовать следующий фрагмент кода:

char[] arr = {‘A’‘B’‘C’‘D’};
AClass obj = new AClass();
char ret = obj.func(arr);
System.out.println(ret);

Первый оператор в этом сегменте кода определяет массив. Второй оператор объявляет объект obj из класса AClass. Следующий оператор вызывает метод объекта с именем массива (ссылкой) в качестве аргумента. Последний оператор выводит третий символ (индекс 2) массива, полученного вызванным методом. Выход будет C.

Эти два сегмента кода показывают, как массив передается в метод по ссылке.

Возврат по ссылке

Приведенный выше класс изменен для метода, возвращающего массив по ссылке, следующим образом:

    class AClass {
char[] func(char[] chs) {
return chs;
}
}

Возвращаемое выражение в сигнатуре метода — это char[], а не просто char. Выражение return оператора return теперь является именем массива в параметре и больше не является элементом массива.

Соответствующий сегмент кода в методе main() изменяется следующим образом:

char[] arr = {‘A’‘B’‘C’‘D’};

AClass obj = new AClass();

char[] ret = obj.func(arr);

System.out.println(ret[2]);

Тип возвращаемого значения вызова метода — массив, а не просто char. Массив по-прежнему передается в качестве аргумента так же, как и раньше. Последний оператор здесь печатает значение элемента возвращаемого массива.

Приведенные выше две программы показывают, как массив может быть передан по ссылке и как массив может быть возвращен по ссылке.

Метод в основном классе

Передача по ссылке

В этом разделе статьи метод получения массива находится в основном классе, а не в отдельном классе. Пример такого метода:

static char func(char[] chs) {

return chs[2];

}

Обратите внимание, что интересующий вас метод теперь является статическим, поскольку он будет вызываться из основного метода, который также является статическим и также находится в основном классе. Имя метода func. Он имеет только один параметр, который является объявлением массива. Он возвращает символ. Возвращаемый символ находится на третьей позиции полученного массива (индекс 2).

В методе main(), который является статическим, можно использовать следующий фрагмент кода:

char[] arr = {‘A’‘B’‘C’‘D’};

char ret = func(arr);

System.out.println(ret);

Результатом будет C. Первый оператор в этом сегменте кода определяет массив. Здесь не объявляется объект, так как нет отдельного класса. Следующий оператор вызывает тот же метод класса, основной класс, с именем массива (ссылкой) в качестве аргумента. Последний оператор выводит третий символ (индекс 2) массива, полученного вызванным методом.

Эти два сегмента кода показывают, как массив передается в метод по ссылке.

Возврат по ссылке

Приведенный выше метод изменен для возврата массива по ссылке следующим образом:

static char[] func(char[] chs) {

return chs;

}

Возвращаемое выражение в сигнатуре метода — «static char[]», а не «static char». Выражение return оператора return теперь является именем массива в параметре и больше не является элементом массива.

Соответствующий сегмент кода в методе main() изменяется следующим образом:

char[] arr = {‘A’‘B’‘C’‘D’};

char[] ret = func(arr);

System.out.println(ret[2]);

Первым оператором здесь является объявление массива. Тип возвращаемого значения вызова метода — массив, а не просто char. Массив по-прежнему передается в качестве аргумента так же, как и раньше. Последний оператор печатает значение элемента возвращаемого массива.

Эти две программы показывают, как массив может быть передан по ссылке и как массив может быть возвращен по ссылке.

Заключение

Да, и это единственный способ передать массив методу в Java: объявить параметр как массив и использовать имя массива в вызове метода. В Java функция называется методом и является членом класса. Больше хороших новостей! Метод (в Java) может возвращать массив, который также по ссылке. Идентификатор (имя) массива является ссылкой. Пусть определение метода (реализация) имеет тип массива в качестве параметра в сигнатуре метода для достижения этих целей. Выражение для оператора return в определении метода — это просто имя массива. Возвращаемое выражение для сигнатуры метода является типом массива. Принимающее выражение должно иметь тип массива в операторе вызова метода.

Читайте также:  Как использовать API с Java?
Оцените статью
bestprogrammer.ru
Добавить комментарий