面向?qū)ο?/h1>

一.三大特征:

1.封裝: 把數(shù)據(jù)封裝起來,不讓外面隨便訪問

2,繼承: 子類繼承父類,有共同點(diǎn)

3.多態(tài): 事物存在的多種形態(tài)

public 公共的,所有類都可以訪問;

private 私有的,只有本類可以訪問

protected 同一包,當(dāng)前類,子孫類可以訪問

default 同一個(gè)包內(nèi),本類可以訪問

不同包調(diào)用,要導(dǎo)包

private 私有屬性,要set,get方法

this.? 當(dāng)前的實(shí)例

3.final

final 加到變量上,就成為常量;不能修改

final 加到方法前,這個(gè)方法不能被子類覆蓋(不能重寫)

final 加到類前,表示這個(gè)類不能被繼承

二. 繼承

1.* A:this和super都代表什么

* this:代表當(dāng)前對(duì)象的引用,誰來調(diào)用我,我就代表誰

* super:代表當(dāng)前對(duì)象父類的引用

* B:this和super的使用區(qū)別

* a:調(diào)用成員變量

*this.成員變量 調(diào)用本類的成員變量,本類沒有也可以調(diào)用父類的成員變量

* super.成員變量 調(diào)用父類的成員變量

* b:調(diào)用構(gòu)造方法

* this(...) 調(diào)用本類的構(gòu)造方法

* super(...) 調(diào)用父類的構(gòu)造方法

* c:調(diào)用成員方法

* this.成員方法 調(diào)用本類的成員方法,也可以調(diào)用父類的方法

* super.成員方法 調(diào)用父類的成員方法

2.重載和重寫的區(qū)別

* A:方法重寫注意事項(xiàng)

* a:父類中私有方法不能被重寫

* 因?yàn)楦割愃接蟹椒ㄗ宇惛揪蜔o法繼承,既然子類無法繼承,就談不上重寫了

* b:子類重寫父類方法時(shí)吊履,訪問權(quán)限不能更低

* 最好就一致

* c:父類靜態(tài)方法苇羡,子類也必須通過靜態(tài)方法進(jìn)行重寫

* 子類重寫父類方法的時(shí)候程奠,最好聲明一模一樣计寇。

* Override和Overload的區(qū)別?Overload能改變返回值類型嗎?

* overload可以改變返回值類型,只看參數(shù)列表

* 方法重寫:子類中出現(xiàn)了和父類中方法聲明一模一樣的方法檀葛。與返回值類型有關(guān),返回值是一致(或者是子父類)的

* 方法重載:本類中出現(xiàn)的方法名一樣麦备,參數(shù)列表不同的方法伊滋。與返回值類型無關(guān)洋幻。

* 子類對(duì)象調(diào)用方法的時(shí)候:

* 先找子類本身郁轻,再找父類。

2.靜態(tài)優(yōu)先于非靜態(tài),父類優(yōu)先于子類,構(gòu)造代碼塊優(yōu)先于構(gòu)造方法

三.多態(tài)

* A:多態(tài)(polymorphic[,p?l?'m??f?k])概述

* 事物存在的多種形態(tài)

* B:多態(tài)前提

* a:要有繼承關(guān)系。

* b:要有方法重寫好唯。

* c:要有父類引用指向子類對(duì)象竭沫。father f = new son();? ? ///////向上轉(zhuǎn)型

1.多態(tài)中的成員訪問特點(diǎn)之成員變量

成員變量

編譯看左邊(父類),運(yùn)行看左邊(父類)

成員方法

編譯看左邊(父類),運(yùn)行看右邊(子類)骑篙。///////////////動(dòng)態(tài)綁定

靜態(tài)方法

編譯看左邊(父類)蜕提,運(yùn)行看左邊(父類)。

(靜態(tài)和類相關(guān)靶端,算不上重寫谎势,所以,訪問還是左邊的)

只有非靜態(tài)的成員方法,編譯看左邊,運(yùn)行看右邊

2.instanceof? ? 判斷前面這個(gè)對(duì)象是否屬于后面這個(gè)類

```

if (animal instanceof Dog) {

System.out.println("這是一條狗");

Dog d = (Dog)animal;

d.bite();

}else if (animal instanceof Cat) {

System.out.println("這是一只貓");

Cat c = (Cat)animal;

c.bite();

}

```

3.static關(guān)鍵字

(1)被static關(guān)鍵字修飾的成員杨名,屬于該類中所有對(duì)象的共享內(nèi)容可以直接用類名調(diào)用脏榆,也可以用對(duì)象調(diào)用,但是建議用類名調(diào)用

(2)隨著類的加載而加載,優(yōu)先于對(duì)象存在:隨著字節(jié)碼文件的加載而加載的台谍,那時(shí)候還沒有對(duì)象呢

(3)靜態(tài)修飾的內(nèi)容一般我們稱其為:與類相關(guān)的须喂,類成員(靜態(tài)變量:類變量,靜態(tài)方法:類方法)

(4)在靜態(tài)方法中是沒有this關(guān)鍵字的(因?yàn)閠his指的是一個(gè)具體的對(duì)象,而靜態(tài)在加載到內(nèi)存時(shí)還沒有具體的對(duì)象)

(5)靜態(tài)方法只能訪問靜態(tài)的成員變量和靜態(tài)的成員方法,非靜態(tài)的成員方法既可以方法靜態(tài)的成員方法和成員變量趁蕊,又能訪問非靜態(tài)的成員方法和成員變量

簡(jiǎn)單記憶:靜態(tài)不能訪問非靜態(tài)

4.組合是 has a 的關(guān)系,繼承是is a的關(guān)系(我有一條狗,,,,,,,,,狗繼承動(dòng)物)

優(yōu)先使用組合,因?yàn)樗`活

繼承盡量不要超過三層

5.abstract 關(guān)鍵字

* A:抽象類概述

* 抽象就是看不懂的?,不能被實(shí)例化

* B:抽象類特點(diǎn)

* a:抽象類和抽象方法必須用abstract關(guān)鍵字修飾

* abstract class 類名 {}

* public abstract void eat();//當(dāng)不知道該方法具體是怎么實(shí)現(xiàn)的

//比如動(dòng)物吃坞生,你知道它吃什么嗎?怎么吃掷伙?都不知道

* b:抽象類不一定有抽象方法是己,有抽象方法的類一定是抽象類或者是接口

* c:抽象類不能實(shí)例化那么,抽象類如何實(shí)例化呢?

* 按照多態(tài)的方式任柜,由具體的子類實(shí)例化卒废。其實(shí)這也是多態(tài)的一種,抽象類多態(tài)乘盼。

* d:抽象類的子類

* 要么是抽象類

* 要么重寫抽象類中的所有抽象方法

* A:抽象類的成員特點(diǎn)

* a:成員變量:既可以是變量升熊,也可以是常量。abstract是否可以修飾成員變量?不能修飾成員變量

* b:構(gòu)造方法:有绸栅。

* 用于子類訪問父類數(shù)據(jù)的初始化级野。

* c:成員方法:既可以是抽象的,也可以是非抽象的粹胯。

* B:抽象類的成員方法特性:

*a:抽象方法 強(qiáng)制要求子類做的事情蓖柔。/////子類必須實(shí)現(xiàn)

publicabstractvoidmethod();//? 抽象方法只要定義就行,不要具體的實(shí)現(xiàn)

* b:非抽象方法 子類繼承的事情,提高代碼復(fù)用性风纠。////子類可以直接使用

接口的方法都是抽象的

1.接口

接口特點(diǎn)

* a:接口用關(guān)鍵字interface表示

* interface 接口名 {}

* b:類實(shí)現(xiàn)接口用implements表示

* class 類名 implements 接口名 {}

* c:接口不能實(shí)例化

* 那么况鸣,接口如何實(shí)例化呢?

* 按照多態(tài)的方式來實(shí)例化。

* d:接口的子類

* a:可以是抽象類竹观。但是意義不大镐捧。

* b:可以是具體類潜索。要重寫接口中的所有抽象方法。(推薦方案)

接口與類相似點(diǎn):

一個(gè)接口可以有多個(gè)方法懂酱。

接口文件保存在.java結(jié)尾的文件中竹习,文件名使用接口名。

接口的字節(jié)碼文件保存在.class結(jié)尾的文件中列牺。

接口相應(yīng)的字節(jié)碼文件必須在與包名稱相匹配的目錄結(jié)構(gòu)中整陌。

接口與類的區(qū)別:

接口不能用于實(shí)例化對(duì)象。

接口沒有構(gòu)造方法瞎领。

接口中所有的方法必須是抽象方法泌辫。

接口不能包含成員變量,除了static和final變量九默。

接口不是被類繼承了震放,而是要被類實(shí)現(xiàn)。

接口支持多重繼承驼修。

*A:接口成員特點(diǎn)

*成員變量只能是常量澜搅,并且是靜態(tài)的并公共的。

* 默認(rèn)修飾符:public static final

* 建議:自己手動(dòng)給出邪锌。

* 構(gòu)造方法:接口沒有構(gòu)造方法。

* 成員方法:只能是抽象方法癌瘾。//////接口的方法都是抽象的

* 默認(rèn)修飾符:public abstract

* 建議:自己手動(dòng)給出觅丰。

3.defualt關(guān)鍵字

```

default void report() { //加defalut 可以聲明方法

System.out.println("匯報(bào)相關(guān)數(shù)據(jù)");

}

```

2.內(nèi)部類

內(nèi)部類訪問特點(diǎn)

* a:內(nèi)部類可以直接訪問外部類的成員,包括私有妨退。

* b:外部類要訪問內(nèi)部類的成員妇萄,必須創(chuàng)建對(duì)象。

* 外部類名.內(nèi)部類名 對(duì)象名 = 外部類對(duì)象.內(nèi)部類對(duì)象;

out.int oi - new out().new int();

oi.方法();

3.靜態(tài)成員內(nèi)部類

* static

* B:成員內(nèi)部類被靜態(tài)修飾后的訪問方式是:

* 外部類名.內(nèi)部類名 對(duì)象名 = 外部類名.內(nèi)部類對(duì)象;

Outer.Inneroi=newOuter.Inner();

//外部類是一個(gè)普通類,但是內(nèi)部類是一個(gè)靜態(tài)類,那么一個(gè)普通類訪問靜態(tài)成員時(shí)可以用類名.的方式,

4.(成員內(nèi)部類私有使用)

* private:在外部不能直接創(chuàng)建內(nèi)部類對(duì)象了

5.局部?jī)?nèi)部類:(外部類里面方法里的類)

3.匿名內(nèi)部類;

* A:匿名內(nèi)部類

* 就是內(nèi)部類的簡(jiǎn)化寫法咬荷。

* B:前提:存在一個(gè)類或者接口

* 這里的類可以是具體類也可以是抽象類冠句。

* C:格式:

*

new 類名或者接口名(){

重寫方法;

}

* D:本質(zhì)是什么呢?------------局部?jī)?nèi)部類

*是一個(gè)繼承了該類或者實(shí)現(xiàn)了該接口的子類匿名對(duì)象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末幸乒,一起剝皮案震驚了整個(gè)濱河市懦底,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罕扎,老刑警劉巖聚唐,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腔召,居然都是意外死亡杆查,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門臀蛛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亲桦,“玉大人崖蜜,你說我怎么就攤上這事】颓停” “怎么了豫领?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)桃笙。 經(jīng)常有香客問我氏堤,道長(zhǎng),這世上最難降的妖魔是什么搏明? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任鼠锈,我火速辦了婚禮,結(jié)果婚禮上星著,老公的妹妹穿的比我還像新娘购笆。我一直安慰自己,他們只是感情好虚循,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布同欠。 她就那樣靜靜地躺著,像睡著了一般横缔。 火紅的嫁衣襯著肌膚如雪铺遂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天茎刚,我揣著相機(jī)與錄音襟锐,去河邊找鬼。 笑死膛锭,一個(gè)胖子當(dāng)著我的面吹牛粮坞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播初狰,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼莫杈,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了奢入?” 一聲冷哼從身側(cè)響起筝闹,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腥光,沒想到半個(gè)月后丁存,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柴我,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年解寝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艘儒。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聋伦,死狀恐怖夫偶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情觉增,我是刑警寧澤兵拢,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站逾礁,受9級(jí)特大地震影響说铃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘹履,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一腻扇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砾嫉,春花似錦幼苛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至配并,卻和暖如春括荡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溉旋。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工一汽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人低滩。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岩喷,于是被迫代替她去往敵國(guó)和親恕沫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容