ホームページ >コンピューターのチュートリアル >コンピュータ知識 >Java のインターフェイス コールバック メカニズムの詳細な分析
インターフェイス コールバックはポリモーフィズムを反映する方法です。これにより、インターフェイスを実装するクラスのオブジェクト参照をインターフェイスによって宣言されたインターフェイス変数に割り当てることができるため、クラスによって実装されたインターフェイス内のメソッドをインターフェイス変数を通じて呼び出すことができます。これは、対応するオブジェクトにインターフェイス メソッド (インターフェイス コールバックとも呼ばれます) を呼び出すように通知することと同じです。異なるクラスが同じインターフェイスを使用する場合、異なる機能実装を持つ可能性があります。つまり、インターフェイス内のメソッド本体が異なる可能性があります。したがって、インターフェイス コールバックを通じてさまざまな動作を実現できます。
パブリック インターフェイス InterfaceHuidiao {
void showMessage();
}
パブリック クラス PC は、InterfaceHuidiao を実装します {
public void showMessage() {
System.out .println (「私はコンピューターです!」);
}
}
パブリック クラス TV は、InterfaceHuidiao を実装します {
public void showMessage() {
System.out.println(「私はテレビです!」);
}
}
パブリック クラス TestInterfaceHudiao {
public static void main(String[] args) {
インターフェイスHuidiao ms ;
ms = 新しいテレビ();
ms.showMessage();
ms = 新しい PC();
ms.showMessage();
}
}
それを具体的にどう説明するかは、あまり簡単ではないかもしれません....
私が書いたばかりのプログラムをお見せします...わかりやすいです...
インターフェイス メッセージ{
void showMessage();
}
クラス NbMsg は Msg を実装します{
public void showMessage() {
System.out.println("123456");
}
}
クラス CahrMsg は Msg を実装します{
public void showMessage() {
System.out.println("abcdef");
}
}
公開授業テスト {
プライベート メッセージ メッセージ;
public void show() {
System.out.println("何かを処理中");
msg.showMessage();
}
public void setMsg(Msg msg) {
this.msg = msg;
}
public static void main(String[] args) {
テスト a = 新しいテスト();
a.setMsg(new CahrMsg());
###ショー();###a.setMsg(new NbMsg());
###ショー();###}
}
###消す:###何かに対処する
abcdef
何かに対処する
123456
インターフェイスでコールバックを実装できる理由
インターフェイス コールバックとは、インターフェイスを実装するクラスを使用して作成されたオブジェクトの参照を、インターフェイスによって宣言されたインターフェイス変数に代入し、インターフェイス変数からクラスによって実装されたインターフェイスのメソッドを呼び出すことができることを意味します。実際、インターフェース変数は、クラスが実装したインターフェース内のメソッドを呼び出す際に、対応するオブジェクトにインターフェースのメソッドを呼び出すように通知しますが、この処理をオブジェクト関数のインターフェースコールバックと呼びます。以下の例を参照してください。
人々とのつながり {
}
クラスの生徒が人々を実装する {
public void peoplelist() {
system.out.println("私は学生です。");
}
}
クラスの先生が人々を実装する {
public void peoplelist() {
system.out.println("私は教師です。");
}
}
パブリック クラスの例 {
public static void main(string args[]) {
people a; // インターフェース変数を宣言します
a = new Student(); // インスタンス化、オブジェクトへの参照はインターフェイス変数
に保存されますa.peoplelist(); //インターフェイスのコールバック
a = new Teacher(); // インスタンス化、オブジェクトへの参照はインターフェイス変数
に保存されますa.peoplelist(); //インターフェイスのコールバック
}
}
###結果:### ###私は学生です。### ###私は先生です。###以上がJava のインターフェイス コールバック メカニズムの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。