コールバック関数に再び遭遇しました。今回は、書き留めて共有する予定です。
SO -CALLED CALLBACK関数、またはオブジェクト指向言語のコールバックメソッドは、単に話すだけで、特定の時間に呼び出される関数です(イベントが発生します)。
詳細については、これはパラメーターとして関数Aであり、別の関数Bに渡され、BはいつかBによって呼び出されます。
ここでは、1つの関数が関数を呼び出すことができます。
はい、関数本文に別の関数を呼び出すことができますが、ここには問題があります。つまり、呼び出したい関数は死にます。関数Bを呼び出すことは、関数を呼び出すことができます。そのため、別のシナリオでAとは異なる機能を備えている場合、Bの特定の瞬間に呼び出される必要があります。
コールバック関数については、コールバック関数を別の関数によってパラメーターとして呼び出すことができますイベントキーワードとJavaScriptでは、これらの言語を直接渡すことができます(メソッド)が、Javaを使用しますが、私は今Androidをしなければならないので、私はまだJavaを手放すことができません、そして今日、私はJavaから遭遇したこのコールバック関数の問題に遭遇しました。コールバックの実現を簡単で理解していますが、Java、そうは思いません。そうでなければ、このブログを書くことはありません。
さて、Javaでの回復方法の実現を続けています。このブログの焦点はJavaです。 Javaでは、コールバックメソッドは、インターネットで文章を見つけました。
「特定のインターフェイスを実装するクラスによって作成されたオブジェクトへの参照は、インターフェイスステートメントのインターフェイス変数に割り当てられているため、インターフェイス変数はインターフェイスの実装の実装方法を呼び出すことができます。」
非常に丸い、簡単な説明:
インターフェイスがあり、インターフェイスにはメソッドがあります(この方法はコールバックします):
インターフェイスCallBackInterface {void callbackmethod();}内部のメソッドが実現されていないため、インターフェイスオブジェクトを直接使用できないことがわかっています。したがって、このインターフェイスを実装するクラスを見つけてください。
今すぐクラスを追加して、このインターフェイスを実装してください。
インターフェイスCallBackInterface {void callbackmethod();} callbackclass Callbackinterface {@override public voidmetho d(){system.out.println( "hello");}}}}さて、最後のステップ:インターフェイスをステートメントのインターフェイス変数に実装するクラスを実装するオブジェクトを割り当てます(メソッドに書き込み、外部にシェルの種類を追加します):
public callbacktest {interface callbackinterface {void callbackmethod();} class callbackclassはcallbackinterface {e public void callbackmethod(){system.out.println( "hello");}} public void showcallback(){callbackinterface itfs = new callbackclass( ); itfs.callbackmethod();}}これで、電話して試すことができます。
public class test {public static void main(string [] art){new callbacktest();}}。事故がなければ、とにかくこんにちは、私はここにいます。
この例を読んだ後、私はそれを詳細にしますか? 、そしてJavaはメソッドをパラメーターとして送信できないため、このコールバックメソッドをインターフェイスに配置する必要があります(クラスではないのは抽象クラスではありませんか?インターフェイスの代わりに?抽象カテゴリと自分でインターフェイスし、自分でこの問題を解決します)。インターフェイスがある場合、インターフェイスのオブジェクトがインターフェイスのオブジェクトに与えられる限り、クラスによって実装されます。これを理解している場合、ここで使用する多型は、インターフェイスのオブジェクトをスムーズに割り当てることができ、サブクラスの書き換え方法もあります(クラスにも同様の概念があります)。
もう1つ言えば、ここでCallBackInterfaceインターフェイスを実装するクラスは、新しい(つまり、割り当て)(つまり、割り当て)の後ろに配置できます。
パブリッククラスのCallBackTest {interface callbackinterface {void callbackmethod();} callbackclass callbackinterface {e public void callbackmethod(){system.out.println( "hello");}} class controller {private callbackinterface cbitf;インシデントをシミュレートするために、実用的な価値はありません。 「コール」と「コールバック関数が実装されています=新しいコントローラー(CBC);最終的に、これはAndroidで遭遇することがよくあります。
上記は、個人の回復機能の理解と使用です。