Как передать метод java

Аватар пользователя Иван Полежаев
Иван Полежаев
14 апреля 2023

В Java можно передавать методы как параметры других методов. Для этого используется концепция функционального программирования, которая была добавлена в Java 8

  • Один из способов передать метод в Java - использовать интерфейс, содержащий единственный абстрактный метод. Такие интерфейсы называются функциональными интерфейсами, и они могут быть переданы как параметры в методы.

Например:

public interface MyInterface {
    void doSomething();
}

public class MyClass {
    public void myMethod(MyInterface myInterface) {
        myInterface.doSomething();
    }
}
  • Затем вы можете передать реализацию интерфейса в метод myMethod:
MyClass myObject = new MyClass();
myObject.myMethod(new MyInterface() {
    public void doSomething() {
        System.out.println("Doing something...");
    }
});

Это создаст анонимный класс, реализующий интерфейс MyInterface и передающий его в метод myMethod


Существует более компактный и удобный способ, особенно для передачи простых методов:

MyClass myObject = new MyClass();
myObject.myMethod(() -> System.out.println("Doing something..."));

Это создаст лямбда-выражение, которое будет выполнено внутри метода myMethod

0 0