java介面回呼詳解
介面回呼是一種體現多態性的方式。它允許將實作了某一介面的類別的物件參考賦給該介面宣告的介面變量,從而可以透過介面變數來呼叫類別實現的介面中的方法。這樣做就相當於通知對應的物件呼叫介面的方法,也稱為介面回呼。當不同的類別使用同一介面時,它們可能具有不同的功能實現,也就是說介面中的方法體可以不相同。因此,透過介面回調可以實現不同的行為。
public interface IntefaceHuidiao {
void showMessage();
}
public class PC implements IntefaceHuidiao {
public void showMessage() {
System. out .println( " 我是電腦 !" );
}
}
public class TV implements IntefaceHuidiao {
public void showMessage() {
System.out.println(" 我是電視機 !");
}
}
public class TestIntefaceHudiao {
public static void main(String[] args) {
IntefaceHuidiao ms ;
ms = new TV();
ms.showMessage();
ms = new PC();
ms.showMessage();
}
}
java為什麼要使用介面回呼
具體怎麼解釋可能不是特別好解釋啊....
給你看剛寫的一段程式好了...很容易理解的...
interface Msg{
void showMessage();
}
class NbMsg implements Msg{
public void showMessage() {
System.out.println("123456");
}
}
class CahrMsg implements Msg{
public void showMessage() {
System.out.println("abcdef");
}
}
public class test {
private Msg msg;
public void show() {
System.out.println("處理一些東西");
msg.showMessage();
}
public void setMsg(Msg msg) {
this.msg = msg;
}
public static void main(String[] args) {
test a = new test();
a.setMsg(new CahrMsg());
a.show();
a.setMsg(new NbMsg());
a.show();
}
}
結果是:
處理一些東西
abcdef
處理一些東西
123456
為什麼介面可以實現回呼
介面回呼是指:可以把使用實作了某一介面的類別所建立的物件的參考賦給該介面宣告的介面變量,那麼該介面變數就可以呼叫被類別實作的介面的方法。實際上,當介面變數呼叫被類別實作的介面中的方法時,就是通知對應的物件呼叫介面的方法,這個過程稱為物件功能的介面回呼。看下面範例.
interface people {
void peoplelist();
}
class student implements people {
public void peoplelist() {
system.out.println("i'm a student.");
}
}
class teacher implements people {
public void peoplelist() {
system.out.println("i'm a teacher.");
}
}
public class example {
public static void main(string args[]) {
people a; // 宣告介面變數
a = new student(); // 實例化,介面變數中存放物件的參考
a.peoplelist(); // 介面回呼
a = new teacher(); // 實例化,在介面變數中存放物件的參考
a.peoplelist(); // 介面回呼
}
}
結果:
i'm a student.
i'm a teacher.
以上是深入解析Java的介面回呼機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

什麼是zlib1.dll?有些人遇到“ zlib1.dll丟失”錯誤或zlib1.dll試圖打開包含zlib1.dll的應用程序時找不到錯誤。為了解決這些相關錯誤,PHP.CN網站上的這篇文章可以為您提供一些我

你們中有些人可能會發現自動填充沒有在Excel中工作。您能提出任何解決方案嗎?如果沒有,那麼您就會到達正確的位置。 PHP.CN網站上的這篇文章將為您提供6種方法來解決Excel Autofill無法正常工作的方法。

什麼是Windows 7 Starter版本? Windows 7 Starter版的局限性是什麼?如何獲得Windows 7首發版ISO?來自PHP.CN的這篇文章為您提供了有關Windows 7 Starter Edition的詳細信息。

運行應用程序時,您是否通過登錄目前然後登錄另一個應用程序來更改帳戶感到困擾? PHP.CN收集了一些有效的方法來幫助您在Windows 10和Windows 11中作為其他用戶運行應用程序。

您是否患有“ Dropbox下載文件的錯誤下載您的文件”錯誤?現在閱讀PHP.CN發表的這篇文章,以獲取有關此問題的一些有用解決方案。

您是否對“所選文件在文件資源管理器中未突出顯示”的問題感到困擾?您知道如何解決嗎?如果沒有,您可以在PHP.CN上閱讀此帖子,以獲取幾個可行解決方案,以使所選文件在文件資源管理器中可見。

如果您使用多語言,語言欄是必不可少的。您可以通過從任務欄調整設置來更改輸入語言。但是,當您打開計算機時,語言條可能有一天會消失。如何修復語言欄丟失

是否想使用外部驅動器來擴展手機的存儲空間?可以這樣做。此php.cn帖子向您展示瞭如何將外部驅動器連接到手機的指南。此外,如果您需要從外部驅動器中恢復數據,則可以嘗試PHP


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3漢化版
中文版,非常好用