Передача результата метода в другой метод на Java — пример программы
В Java нельзя напрямую передать сам метод как аргумент в другой метод. Зато можно передать результат вызова одного метода как аргумент другого:
// pass method2 as argument to method1
public void method1(method2());
Здесь значение, возвращённое из method2(), передаётся как аргумент в method1().
Совет
Если нужно передать именно сам метод, а не его результат, используйте лямбда-выражение. Подробнее — в задаче о передаче лямбды как аргумента (см. пример 57 выше).
Пример: программа на Java для передачи метода как аргумента
class Main {
// calculate the sum
public int add(int a, int b) {
// calculate sum
int sum = a + b;
return sum;
}
// calculate the square
public void square(int num) {
int result = num * num;
System.out.println(result); // prints 576
}
public static void main(String[] args) {
Main obj = new Main();
// call the square() method
// passing add() as an argument
obj.square(obj.add(15, 9));
}
}
В примере выше мы создали два метода: square() и add(). Обратите внимание на строку:
obj.square(obj.add(15, 9));
Здесь мы вызываем метод add() как аргумент метода square(). То есть значение, возвращённое из add() (это будет 15 + 9 = 24), передаётся как аргумент в square(), и тот печатает 24 * 24 = 576.