java學習筆記——面向對象篇

一瓮下、繼承

主要為了解決代碼重復,提高代碼維護性钝域。

繼承的特性:
子類擁有父類非private的屬性讽坏,方法。
子類可以擁有自己的屬性和方法例证,即子類可以對父類進行擴展路呜。
子類可以用自己的方式實現父類的方法。
Java的繼承是單繼承,但是可以多重繼承胀葱,單繼承就是一個子類只能繼承一個父類漠秋,多重繼承就是,例如A類繼承B類抵屿,B類繼承C類庆锦,所以按照關系就是C類是B類的父類,B類是A類的父類晌该,這是java繼承區(qū)別于C++繼承的一個特性肥荔。
提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯系)朝群。

使用 implements 關鍵字可以變相的使java具有多繼承的特性燕耿,使用范圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗號分隔)姜胖。

super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問誉帅,用來引用當前對象的父類。
this關鍵字:指向自己的引用右莱。

class Animal {
void eat() {
System.out.println("animal : eat");
}
}

class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void eatTest() {
this.eat(); // this 調用自己的方法
super.eat(); // super 調用父類方法
}
}

public class Test {
public static void main(String[] args) {
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eat();//因為實例化了dog對象蚜锨,所以會調用dog類里的方法
}
}

final 關鍵字聲明類可以把類定義為不能繼承的,即最終類慢蜓;或者用于修飾方法亚再,該方法不能被子類重寫

構造器:
子類不能繼承父類的構造器(構造方法或者構造函數),但是父類的構造器帶有參數的晨抡,則必須在子類的構造器中顯式地通過super關鍵字調用父類的構造器并配以適當的參數列表氛悬。
如果父類有無參構造器,則在子類的構造器中用super調用父類構造器不是必須的耘柱,如果沒有使用super關鍵字如捅,系統(tǒng)會自動調用父類的無參構造器。

截圖20171031144724.png

如果圖中的SubClass(){
super(300);
System.out.println("SubClass");
} 如果沒有用super(300);也將默認調用父類無參數構造函數调煎,
如果父類只有帶參數的構造方法镜遣,則子類一定要通過super關鍵字調用父類的構造器并配以適當的參數列表(其構造函數也要帶參數如public SubClass(int n){super(300)})

二、重寫

方法的重寫規(guī)則:
參數列表必須完全與被重寫方法的相同士袄;
返回類型必須完全與被重寫方法的返回類型相同悲关;
訪問權限不能比父類中被重寫的方法的訪問權限更低。例如:如果父類的一個方法被聲明為public娄柳,那么在子類中重寫該方法就不能聲明為protected坚洽。
父類的成員方法只能被它的子類重寫。
聲明為final的方法不能被重寫西土。
聲明為static的方法不能被重寫讶舰,但是能夠被再次聲明。
子類和父類在同一個包中,那么子類可以重寫父類所有方法跳昼,除了聲明為private和final的方法般甲。
子類和父類不在同一個包中,那么子類只能夠重寫父類的聲明為public和protected的非final方法鹅颊。
重寫的方法能夠拋出任何非強制異常敷存,無論被重寫的方法是否拋出異常。但是堪伍,重寫的方法不能拋出新的強制性異常锚烦,或者比被重寫方法聲明的更廣泛的強制性異常,反之則可以帝雇。
構造方法不能被重寫涮俄。
如果不能繼承一個方法,則不能重寫這個方法尸闸。

截圖20171031160119.png

當需要在子類中調用父類的被重寫方法時彻亲,要使用super關鍵字。

三吮廉、重載

重載規(guī)則:
被重載的方法必須改變參數列表(參數個數或類型或順序不一樣)苞尝;
被重載的方法可以改變返回類型;
被重載的方法可以改變訪問修飾符宦芦;
被重載的方法可以聲明新的或更廣的檢查異常宙址;
方法能夠在同一個類中或者在一個子類中被重載。
無法以返回值類型作為重載函數的區(qū)分標準调卑。

截圖20171031160839.png

四抡砂、多態(tài)

多態(tài)存在的三個必要條件:
繼承
重寫
父類引用指向子類對象

多態(tài)的實現方式:
方式一:重寫:
方式二:接口

  1. 生活中的接口最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中令野,因為這個是每個國家都有各自規(guī)定的接口規(guī)則舀患,有可能到國外就不行徽级,那是因為國外自己定義的接口類型气破。
  2. java中的接口類似于生活中的接口,就是一些方法特征的集合餐抢,但沒有方法的實現
    方式三:抽象類和抽象方法

五现使、抽象類

抽象類不能實例化對象,所以抽象類必須被繼承旷痕,才能被使用碳锈。

抽象方法
Abstract關鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個方法名欺抗,而沒有方法體售碳。
抽象方法沒有定義,方法名后面直接跟一個分號,而不是花括號贸人。
如果一個類包含抽象方法间景,那么該類必須是抽象類。
任何子類必須重寫父類的抽象方法艺智,或者聲明自身為抽象類倘要。

六、接口

接口與類的區(qū)別:
接口不能用于實例化對象十拣。
接口沒有構造方法封拧。
接口中所有的方法必須是抽象方法。
接口不能包含成員變量夭问,除了 static 和 final 變量泽西。
接口不是被類繼承了,而是要被類實現甲喝。
接口支持多繼承尝苇。

接口特性
接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定為 public abstract(只能是 public abstract,其他修飾符都會報錯)埠胖。
接口中可以含有變量糠溜,但是接口中的變量會被隱式的指定為 public static final 變量(并且只能是 public,用 private 修飾會報編譯錯誤)直撤。
接口中的方法是不能在接口中實現的非竿,只能由實現接口的類來實現接口中的方法。

一個接口能繼承另一個接口

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末谋竖,一起剝皮案震驚了整個濱河市红柱,隨后出現的幾起案子,更是在濱河造成了極大的恐慌蓖乘,老刑警劉巖锤悄,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異嘉抒,居然都是意外死亡零聚,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門些侍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隶症,“玉大人,你說我怎么就攤上這事岗宣÷旎幔” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵耗式,是天一觀的道長胁住。 經常有香客問我趁猴,道長,這世上最難降的妖魔是什么彪见? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任躲叼,我火速辦了婚禮,結果婚禮上企巢,老公的妹妹穿的比我還像新娘枫慷。我一直安慰自己,他們只是感情好浪规,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布或听。 她就那樣靜靜地躺著,像睡著了一般笋婿。 火紅的嫁衣襯著肌膚如雪誉裆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天缸濒,我揣著相機與錄音足丢,去河邊找鬼。 笑死庇配,一個胖子當著我的面吹牛斩跌,可吹牛的內容都是我干的。 我是一名探鬼主播捞慌,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼耀鸦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啸澡?” 一聲冷哼從身側響起袖订,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗅虏,沒想到半個月后洛姑,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡皮服,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年楞艾,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冰更。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡产徊,死狀恐怖昂勒,靈堂內的尸體忽然破棺而出蜀细,到底是詐尸還是另有隱情,我是刑警寧澤戈盈,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布奠衔,位于F島的核電站谆刨,受9級特大地震影響,放射性物質發(fā)生泄漏归斤。R本人自食惡果不足惜痊夭,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脏里。 院中可真熱鬧她我,春花似錦、人聲如沸迫横。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矾踱。三九已至恨狈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呛讲,已是汗流浹背禾怠。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贝搁,地道東北人吗氏。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像雷逆,于是被迫代替她去往敵國和親牲证。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容