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

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

от nikko , в категории: Java , 2 месяца назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от loyal , 2 месяца назад

@nikko 

В Java можно реализовать callback с использованием интерфейсов. Вот пример:

  1. Создайте интерфейс, который опишет методы, которые нужно вызвать в callback:
1
2
3
4
public interface MyCallback {
    void onSuccess(String result);
    void onFailure(String error);
}


  1. Создайте класс, который будет использовать этот callback:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public class MyClass {
    public void getData(MyCallback callback) {
        // некоторая работа для получения данных
        boolean success = true; // флаг успешного получения данных
        if (success) {
            callback.onSuccess("Данные получены успешно");
        } else {
            callback.onFailure("Ошибка получения данных");
        }
    }
}


  1. Используйте класс MyClass и передайте объект реализующий интерфейс MyCallback в качестве параметра:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
public class MainClass {
    public static void main(String[] args) {
        MyClass myClass = new MyClass();
        
        myClass.getData(new MyCallback() {
            @Override
            public void onSuccess(String result) {
                System.out.println("Результат: " + result);
            }

            @Override
            public void onFailure(String error) {
                System.out.println("Ошибка: " + error);
            }
        });
    }
}


В данном примере при вызове метода getData объекта MyClass будут вызываться методы onSuccess или onFailure в зависимости от результата получения данных.