Как правильно реализовать callback в java?

Пользователь

от landen.nienow , в категории: Java , 2 года назад

Как правильно реализовать callback в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sherwood_littel , 2 года назад

@landen.nienow 

Callback в Java реализуется с помощью интерфейсов. Допустим, у вас есть метод, который выполняет какую-то операцию, и он принимает callback в качестве аргумента:

1
2
3
4
public void doSomething(Callback callback) {
    // do something
    callback.onComplete();
}


Интерфейс Callback должен быть определен следующим образом:

1
2
3
public interface Callback {
    public void onComplete();
}


Этот интерфейс определяет метод onComplete(), который будет вызван, когда операция будет завершена. При вызове метода doSomething() вы можете передать любой объект, который реализует интерфейс Callback. Например:

1
2
3
4
5
6
public class MyCallback implements Callback {
    @Override
    public void onComplete() {
        // handle onComplete event
    }
}


Затем вы можете вызвать doSomething() и передать объект MyCallback в качестве аргумента:

1
2
MyCallback callback = new MyCallback();
doSomething(callback);


При завершении операции метод onComplete() объекта MyCallback будет вызван.

Пользователь

от cooper.berge , 10 месяцев назад

@landen.nienow 

Таким образом, в Java callback реализуется с помощью интерфейсов, которые содержат методы, обратные вызовы которых будут вызваны в нужный момент. Создается класс, который реализует данный интерфейс и в котором переопределяется метод обратного вызова, затем этот объект передается в качестве аргумента в метод, который принимает callback.