導航:首頁 > 編程語言 > java引用的實現的

java引用的實現的

發布時間:2024-07-21 17:29:33

java 將介面的引用指向實現類的對象

樓上的介面類的類名首字母要大寫,其他的樓上說的都正確,就比如說:
Person p = new Student();
Person是介面,Student是Person介面的實現類,像上面這樣就是:將介面的引用指向實現類的對象,明白不?

② 在java中實例化一個子類對象賦給父類對象引用或一個實現了介面的類的對象賦給介面的引用,有什麼好處

這個問題不難!這是多態的一種應用:
把不同的子類對象都當作父類來看,可以屏蔽不同子類對象之間的差異,寫出通用的代碼,做出通用的編程,以適應需團帆消求的不斷變化。
賦值之後,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作。也就是說,父親的行為像兒子,而不是兒子的行為像父親。
舉個例子:從一個基類中派生,響應一個虛命令,產生不同的結果。
比如從某個基類繼承出多個對象,其基類有一個虛方法Tdoit,然後其子類也有這個方法,但行為不同,然後這些子對象中的任何一個可以賦轎凱給其基類的對象,這樣其基類的對象就可以執行不同的操作了。實際上你是在通過其基類來訪問其子對象的,你要做的就是一個賦值操作。
使用繼承性的結果就是可以創建一個類的家族,在認識這個類的家族時,就是把導出類的對象當作基類的對象,這種認識又叫作upcasting。這樣認識的重要性在於:我們可以只針對基類寫出一段程序,但它可以適應於這個類的家族,因為編譯器會自動就找出合適的對象來執行操作。這種現象又稱為多態性。而實現多態性的手段又叫稱動態綁定(dynamicbinding)。
簡單的說,建立一個父類的對象,它的內容可以是這個父類的,也可以是它的子類的,當子類擁有和父類同樣的函數,當使用這個對象調用這個函數的時候,定義這個對象的類(也就是父類)里的同名函數將被調用,當在父類里的這個函數前加virtual關鍵字,那麼子類的同名函塌知數將被調用。
例子在C++中:
classA{
public:
A(){}
virtualvoidfoo(){
coutfoo();
if(a!=NULL)
deletea;
return0;
}
這將顯示:
ThisisB.
如果把virtual去掉,將顯示:
ThisisA.
前面的多態實現使用抽象類,並定義了虛方法.
在java中:
多態,是面向對象的程序設計語言最核心的特徵。多態,意味著一個對象有著多重特徵,可以在特定的情況下,表現不同的狀態,從而對應著不同的屬性和方法。從程序設計的角度而言,多態可以這樣來實現(以java語言為例):
publicinterfaceParent{
publicvoidsimpleCall();
}
publicclassChild_AimplementsParent{
publicvoidsimpleCall(){
//具體的實現細節;
}
}
publicclassChild_BimplementsParent{
publicvoidsimpleCall(){
//具體的實現細節;
}
}
//當然還可以有其他的實現
然後,我們就可以看到多態所展示的特性了:
Parentpa=newChild_A();
pa.simpleCall()則顯然是調用Child_A的方法;
Parentpa=newChild_B();
pa.simpleCall()則是在調用Child_B的方法。所以,我們對於抽象的父類或者介面給出了我們的具體實現後,pa可以完全不用管實現的細節,只訪問我們定義的方法,就可以了。事實上,這就是多態所起的作用,可以實現控制反轉這在大量的J2EE輕量級框架中被用到,比如Spring的依賴注射機制。

③ 鍦↗ava涓瑕佸紩鐢ㄥ硅薄鐨勫睘鎬у拰鏂規硶,闇瑕佹庝箞瀹炵幇錛

灞炴э細絎涓縐嶅氨鏄鑷宸卞畾涔変竴涓猵ublic鐨勫叕鍏卞睘鎬э紝鐒跺悗璋冪敤灝辮屼簡錛堜笉瀹夊叏錛夛紝絎浜岀嶅氨鏄鍒涘緩涓涓猵rivate鐨勭佹湁鐨勫睘鎬э紝鐢熸垚鍏鍏辯殑set鍜実et鏂規硶錛堝皝瑁咃級錛岀劧鍚庤皟鐢錛
鏂規硶錛氬悓綾諱腑鏂規硶涓洪潤鎬佹柟娉曞彲浠ョ洿鎺ヨ皟鐢錛屼笉涓洪潤鎬佹柟娉曢渶瑕乶ew鍜屼笉鍚岀被涓瑕乶ew鍑哄硅薄錛岀劧鍚庤皟鐢ㄥ叾鏂規硶錛
宸︿笂瑙掓湁鎴戝ご鍍忥紝鏈夊緢澶氭湅鍙嬪湪涓璧風浉浜掍氦嫻佸︿範銆

閱讀全文

與java引用的實現的相關的資料

熱點內容
虛擬伺服器如何查路由器埠 瀏覽:236
ipad怎麼增加app拓展塢 瀏覽:254
安卓軟體開發公司如何選擇 瀏覽:664
大型解壓器怎麼做 瀏覽:173
如何保存網頁成PDF 瀏覽:488
linux怎麼編譯內核 瀏覽:432
solidworks入門pdf 瀏覽:819
中國工商銀行app如何看支行 瀏覽:433
wps弄照片到文件夾 瀏覽:463
大眾如何在線編程 瀏覽:787
ipad如何關閉app中的app 瀏覽:442
大腦認知pdf 瀏覽:441
程序員大方 瀏覽:794
怎樣加密微信聊天記錄簡單點 瀏覽:387
python數據類型狀態判斷 瀏覽:47
java文件打開對話框 瀏覽:824
pdf怎麼打勾 瀏覽:21
java資料庫insert 瀏覽:668
金山雲新用戶伺服器 瀏覽:719
量品量體師app下載後如何注冊 瀏覽:911