Java自習室(類的繼承)?
因某種原因,公司想把以前用Java做的一個web項目,用php重寫,而這個任務又落到我頭上,本來想大體看看網上的教程,但是很多java教程都很冗餘,讓初學者看著就頭大,於是乎自己買了本書把看了一遍,順便整理出相關的文檔與便於後期我在用java幹活的會後能夠快速上手,其中有總結的不到位的歡迎批評指正.
工具/原料
vim
其他面向對象編程語言基礎如Php,Ruby等
方法/步驟
繼承是Java面向對象的三大特性之一,使用繼承可以最大限度地實現代碼的重複使用.
注意點:
當一個類繼承另一個類的後,可以對被繼承的類中的屬性和方法進行重用.
在Java中,一個類只能有一個父類也是單繼承和PHP一樣.
子類不能繼承父類的私有屬性和方法.
繼承語法:
<修飾符>
class
方法重寫
方法重寫是指在子類繼承父類之後,子類中存在與父類同名的方法的情況。
注意點:
子類的方法名,參數,返回值類型必須和父類的對應類型一致
子類的方法不能縮小父類方法的訪問控制
子類方法不能拋出比父類方法更多的異常
方法的重寫只能存在與子類與父類之間
super關鍵字
使用場景:
在同一個類中,局部變量與成員變量同名時,局部變量在方法內可見
子類繼承父類,子類中的某個方法覆蓋了父類的方法,在子類中父類方法不可見
在子類中定義了與父類同名的成員屬性,此時在子類中父類的成員屬性不可見
訪問父類成員和方法:
super. <父類成員變量 方法>父類成員變量>
訪問父類的構造方法
super([參數列表]);
注意點:
子類調用父類構造方法時,super語句必須是子類構造方法的第一條代碼.
Object類
在Java中,任何一個類都擴展自一個共同的祖先---Ojbect類,當沒有為某一個類定義其父類時,java會自動將Object定義為該類的父類,這點和Ruby一樣。
Object類的equals()方法
所有繼承Object的類都有equals方法,一般用於判斷兩個對象是否相等。
equals()用法
public boolean equals(Object obj)
注意事項
總結的不到位的歡迎吐槽!