ホームページ コンピューターのチュートリアル コンピュータ知識 Java のインターフェイス コールバック メカニズムの詳細な分析

Java のインターフェイス コールバック メカニズムの詳細な分析

Jan 24, 2024 pm 08:03 PM
どのインターフェイスのコールバックか

Java のインターフェイス コールバック メカニズムの詳細な分析

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();

}

}

Java がインターフェース コールバックを使用する必要がある理由

それを具体的にどう説明するかは、あまり簡単ではないかもしれません....

私が書いたばかりのプログラムをお見せします...わかりやすいです...

インターフェイス メッセージ{

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

インターフェイスでコールバックを実装できる理由

インターフェイス コールバックとは、インターフェイスを実装するクラスを使用して作成されたオブジェクトの参照を、インターフェイスによって宣言されたインターフェイス変数に代入し、インターフェイス変数からクラスによって実装されたインターフェイスのメソッドを呼び出すことができることを意味します。実際、インターフェース変数は、クラスが実装したインターフェース内のメソッドを呼び出す際に、対応するオブジェクトにインターフェースのメソッドを呼び出すように通知しますが、この処理をオブジェクト関数のインターフェースコールバックと呼びます。以下の例を参照してください。

人々とのつながり {

void peoplelist();

}

クラスの生徒が人々を実装する {

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

FixDisk Windows7:Windows7のエラーについてハードディスクを確認してください FixDisk Windows7:Windows7のエラーについてハードディスクを確認してください Apr 14, 2025 am 12:40 AM

ハードドライブの遭遇の問題が疑われる場合は、Windows 7のエラーのドライブを確認できます。このPHP.CN投稿では、FixDisk Windows 7について説明します。ガイドに従って、Windows 7のエラーのハードドライブを確認できます。

グラフィックスドライバーをインストールした後のブラックスクリーンの努力の修正 グラフィックスドライバーをインストールした後のブラックスクリーンの努力の修正 Apr 15, 2025 am 12:11 AM

Windows 10/11にNvidiaドライバーのようなグラフィックドライバーをインストールした後、黒い画面に遭遇したことがありますか? PHP.CNからのこの投稿では、NVIDIAドライバーアップデートブラックスクリーンのソリューションを試す価値のあるいくつかの価値を見つけることができます。

Windows X-Lite Optimum 11 23H2 Home/ProをISO経由でインストールする方法 Windows X-Lite Optimum 11 23H2 Home/ProをISO経由でインストールする方法 Apr 09, 2025 am 12:49 AM

Windows X-Lite Optimum 11 23H2 HomeまたはOptimum 11 Proは、Windows 11 23H2に基づいたカスタムライトシステムが必要な場合にオプションになる可能性があります。読み続け、Php.cnは最適な11 23H2 ISOをダウンロードし、PCにプロまたはホームをインストールする方法を示します。

コア分離はew_usbccgpfilter.sysによってブロックされていますか?ここに修正があります! コア分離はew_usbccgpfilter.sysによってブロックされていますか?ここに修正があります! Apr 13, 2025 am 12:47 AM

多くのSurfaceBookユーザーは、Windows 11/10の「ew_usbccgpfilter.sys」の問題を満たしていると報告しています。 PHP.CNからのこの投稿は、迷惑な問題を修正するのに役立ちます。あなたの読書を続けてください。

Windowsでのヒントと提案通知をオフにする方法は? Windowsでのヒントと提案通知をオフにする方法は? Apr 09, 2025 am 12:46 AM

ヒントと提案通知は、Windows 11の新しいデザインです。これは、いくつかの新しい機能に関する提案とヒントを提供します。しかし、あなたの何人かはポップアップのヒントに悩まされているかもしれません。この投稿をPhp.cnから読んで、ヒントとSuggをオフにする方法を学ぶことができます

Windows Pの高度なヒントは、Windowsで動作しません Windows Pの高度なヒントは、Windowsで動作しません Apr 11, 2025 am 12:49 AM

複数のモニターがある場合は、Windows Pショートカットに精通している必要があります。ただし、Windows Pが適切に機能していない場合があります。この問題に直面している場合、Php.cnからのこの投稿は実際にあなたを助けることができます。

KB2267602インストールに失敗しました:修正方法は次のとおりです。 KB2267602インストールに失敗しました:修正方法は次のとおりです。 Apr 15, 2025 am 12:48 AM

KB2267602は、Windowsの脆弱性と脅威を修正するように設計されたWindows Defenderの保護または定義の更新です。一部のユーザーは、KB2267602をインストールできないと報告しました。 PHP.CNからのこの投稿では、「KB2267602 FAIを修正する方法を紹介します

RAID回復とハードドライブ回復の違い RAID回復とハードドライブ回復の違い Apr 17, 2025 am 12:50 AM

データの回復は常に加熱されたトピックです。デバイスからデータを正常に復元するには、データの保存方法を知っておく必要があります。このPHP.CNポストからのRAID回復とハードドライブの回復の違いを学ぶことができます。

See all articles