1. ホーム
  2. java

[解決済み] Javaにおけるコールバックメソッドとは何ですか?(この用語はゆるやかに使われているようです)

2022-03-03 10:28:57

質問

コールバック・メソッドとは何か、よくわかりません。Javaの世界では、コールバック・メソッドとは何なのでしょうか?もし誰かがJavaコールバックメソッドのサンプルコードと説明を提供してくれるなら、私のJava学習の旅に大きな助けとなるでしょう。

どのように解決するのですか?

コールバックとは、他のコードに引数として渡し、そのコードが実行されるようにするコードの一部分です。Javaはまだ関数ポインタをサポートしていないので、Commandオブジェクトとして実装されます。次のようなものです。

public class Test {
    public static void main(String[] args) throws  Exception {
        new Test().doWork(new Callback() { // implementing class            
            @Override
            public void call() {
                System.out.println("callback called");
            }
        });
    }

    public void doWork(Callback callback) {
        System.out.println("doing work");
        callback.call();
    }

    public interface Callback {
        void call();
    }
}

コールバックは通常、実際に使用するために何らかの状態への参照を保持します。

コールバックの実装があなたのコードにすべての依存関係を持つようにすることで、あなたのコードとコールバックを実行するコードとの間に間接的な関係を得ることができるのです。