Передача результата метода в другой метод на 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.