JAVA面向?qū)ο?/h1>

1纹安、this 用于區(qū)別成員變量與局部變量重名

????在成員變量前面添加 this.

2遍略、構(gòu)造方法

A 構(gòu)造方法概述:??

? ? 作用:為了給對象的屬性初始化

? ? 特點(diǎn):方法名與類名相同浅悉,沒有返回值,不需要void

? ? 注意:構(gòu)造方法不能用對象調(diào)用胸嘴,在創(chuàng)建對象的時候構(gòu)造方法與已經(jīng)執(zhí)行。

B 構(gòu)造方法重載:

????方法名相同,與返回值類型無關(guān)(構(gòu)造方法沒有返回值),只看參數(shù)列表

????注意:如果不寫構(gòu)造方法斩祭,系統(tǒng)會自動給出空參構(gòu)造劣像。如果要給出有參構(gòu)造的時候,必須要先給出空參構(gòu)造摧玫。

3耳奕、static 關(guān)鍵字

*A:static關(guān)鍵字的特點(diǎn)

??? * a:隨著類的加載而加? * b:優(yōu)先于對象存在? ?* c:被類的所有對象共享? ?* d:可以通過類名調(diào)用

? ? ?如果一個成員變量被所有對象共享,那么就可以把成員變量設(shè)置為靜態(tài)static

*B 靜態(tài)的注意事項(xiàng)

????*a 靜態(tài)方法中沒有this關(guān)鍵字诬像。

?????????????靜態(tài)是隨著類的加載而加載吮铭,this是隨著對象的創(chuàng)建而存在。靜態(tài)比對象先存在颅停。

? ? *b? 靜態(tài)方法只能訪問靜態(tài)的成員變量和靜態(tài)的成員方法

*C?靜態(tài)變量和成員變量的區(qū)別

?????靜態(tài)變量也叫類變量? 成員變量也叫對象變量

? ??*A:所屬不同

??????? *靜態(tài)變量屬于類,所以也稱為為類變量

??????? *成員變量屬于對象掠拳,所以也稱為實(shí)例變量(對象變量)

????*B:內(nèi)存中位置不同

??? ????*靜態(tài)變量存儲于方法區(qū)的靜態(tài)區(qū)

??? ????*成員變量存儲于堆內(nèi)存

????*C:內(nèi)存出現(xiàn)時間不同

??? ????*靜態(tài)變量隨著類的加載而加載癞揉,隨著類的消失而消失

??? ????*成員變量隨著對象的創(chuàng)建而存在,隨著對象的消失而消失

????*D:調(diào)用不同

??? ????*靜態(tài)變量可以通過類名調(diào)用溺欧,也可以通過對象調(diào)用

??? ????*成員變量只能通過對象名調(diào)用

5喊熟、代碼塊

????A? 代碼塊分類:

????根據(jù)其位置和聲明的不同,可以分為局部代碼塊姐刁,構(gòu)造代碼塊芥牌,靜態(tài)代碼塊,同步代碼塊(多線程講解)

????B:常見代碼塊的應(yīng)用

??????? * a:局部代碼塊:? ?在方法中出現(xiàn)聂使;限定變量生命周期壁拉,及早釋放,提高內(nèi)存利用率

??????? * b:構(gòu)造代碼塊 (初始化塊): 在類中方法外出現(xiàn)柏靶;多個構(gòu)造方法中相同的代碼存放到一起弃理,每次調(diào)用構(gòu)造都執(zhí)行,并且在構(gòu)造方法前執(zhí)行

??????? * c:靜態(tài)代碼塊: 在類中方法外出現(xiàn)屎蜓,并加上static修飾痘昌;用于給類進(jìn)行初始化,隨著類的加載而加載炬转,在加載的時候就執(zhí)行(優(yōu)先于主方法執(zhí)行)辆苔,且只執(zhí)行一次。? ? *一般用于加載驅(qū)動

6扼劈、繼承

?????A?:繼承的好處:* a:提高了代碼的復(fù)用性? * b:提高了代碼的維護(hù)性? ?* c:讓類與類之間產(chǎn)生了關(guān)系驻啤,是多態(tài)的前提

????B? :繼承的弊端:* 類的耦合性增強(qiáng)了。*開發(fā)的原則:高內(nèi)聚测僵,低耦合街佑。*耦合:類與類的關(guān)系? *內(nèi)聚:就是自己完成某件事情的能力

????C :繼承的特點(diǎn): JAVA中只支持單繼承(只有一個爹)谢翎,支持多層繼承(有祖宗)。

????D:? 繼承的注意事項(xiàng): *a:子類只能繼承父類所有非私有的成員(成員方法和成員變量)? ?* b:子類不能繼承父類的構(gòu)造方法沐旨,但是可以通過super關(guān)鍵字去訪問父類構(gòu)造方法森逮。? * c:不要為了部分功能而去繼承

????E:? 繼承中成員變量之間的關(guān)系: * 同名變量:就近原則

????F: 繼承中構(gòu)造方法的關(guān)系:

????????* 子類中所有的構(gòu)造方法默認(rèn)都會訪問父類中空參數(shù)的構(gòu)造方法。* 因?yàn)樽宇悤^承父類中的數(shù)據(jù)磁携,可能還會使用父類的數(shù)據(jù)褒侧。所以,子類初始化之前谊迄,一定要先完成父類數(shù)據(jù)的初始化闷供。

?????????每一個構(gòu)造方法的第一條語句默認(rèn)都是:super() ,即使不寫统诺,系統(tǒng)會默認(rèn)加上歪脏,用來訪問父類中的空參構(gòu)造。

? ????? 如果父類中沒有給出無參構(gòu)造粮呢,同時又寫了有參構(gòu)造婿失,則會出現(xiàn)問題

????G: 繼承中成員方法之間的關(guān)系:

????????* 重寫: 子父類出現(xiàn)了一模一樣的方法? ? ?* 當(dāng)子類需要父類的功能,而功能主體子類有自己特有內(nèi)容時啄寡,可以重寫父類中的方法豪硅。這樣,即沿襲了父類的功能挺物,又定義了子類特有的內(nèi)容懒浮。

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

? ????? ? ? ?a:父類中私有方法不能被重寫 :因?yàn)楦割愃接蟹椒ㄗ宇惛揪蜔o法繼承

? ????? ? ? ?b:子類重寫父類方法時,訪問權(quán)限不能更低识藤,最好就一致

? ? ???? ? ?c:父類靜態(tài)方法砚著,子類也必須通過靜態(tài)方法進(jìn)行重寫。 其實(shí)這個算不上方法重寫蹋岩,靜態(tài)只能覆蓋靜態(tài)

????? ? ? ? ?子類重寫父類方法的時候赖草,最好聲明一模一樣。

???? ?H :Override(重寫)和Overload(重載)的區(qū)別剪个?

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

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

????? ? ? ? ? ?方法重載:本類中出現(xiàn)的方法名一樣,參數(shù)列表不同的方法扣囊。與返回值類型無關(guān)乎折。

? ? ? ? ? ? ? *子類對象調(diào)用方法的時候,先找子類本身侵歇,再找父類骂澄。

7、this 與super

????*A:this和super都代表什么

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

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

????*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)用父類的成員方法????

????注意:在一個構(gòu)造方法中不能同時寫this(...)?和super(...)?惕虑。? this(...) 和super(...) 必須卸載第一條語句坟冲。

8磨镶、final

????A:概述:

????B:final修飾特點(diǎn)

??? ????*修飾類,類不能被繼承

??? ????*修飾變量健提,變量就變成了常量琳猫,只能被賦值一次

??? ????*修飾方法,方法不能被重寫

? ? ????*修飾引用數(shù)據(jù)類型:不能改變其地址值私痹,但是可以改變其屬性值

? ? ????*修飾基本類型變量:不能改變其值脐嫂。

9、多態(tài)(polymorphic)

????A:概述:事物存在多種形態(tài)

? ? B:多態(tài)前提:? 要有繼承紊遵、方法重寫账千、父類引用指向子類對象

????C:成員變量:編譯看左邊(父類),運(yùn)行看左邊(父類)

? ? ? ? ? ?成員方法:編譯看左邊(父類)暗膜,運(yùn)行看右邊(子類)? ?動態(tài)綁定匀奏。

? ? ? ? 靜態(tài)成員方法:編譯看左邊(父類),運(yùn)行看左邊(父類) 靜態(tài)和類相關(guān)学搜,不算重寫攒射,看左邊

????D:多態(tài)的好處:提高了代碼的維護(hù)性,提高了代碼的擴(kuò)展性恒水。? 把類當(dāng)做參數(shù)的時候多態(tài)非常好,擴(kuò)展性強(qiáng)饲齐。

10钉凌、抽象 abstract

? ? 抽象類特點(diǎn):

? ? ? ? 抽象類和抽象方法必須用abstract修飾。?

????????抽象類不一定有抽象方法捂人,有抽象方法的類一定是抽象類或者是接口御雕。

?????????抽象類不能實(shí)例化,按照多態(tài)有子類實(shí)例化滥搭。

????????抽象類的子類要么是抽象類酸纲,要么重寫抽象類中的所有抽象方法。

????????抽象類中成員變量可以是常量也可以是變量瑟匆。

? ? ? ? 抽象abstract 不能和static 闽坡、private、final共存(作用矛盾)

11愁溜、接口

接口特點(diǎn):

? ? ? ? 用關(guān)鍵字interface表示: interface 接口名{}

? ? ? ? 類實(shí)現(xiàn)接口 :class 類名 implements 接口名{}

? ? ? ? 接口不能實(shí)例化疾嗅,只能用多態(tài)的方式實(shí)例化

? ? ? ? 接口的子類可以是具體類,要重寫接口中的所有抽象方法冕象。? ?可以是抽象類代承,但意義不大。

????成員特點(diǎn):

? ? ? ? 成員變量只能是常量渐扮,并且是靜態(tài)的公共的论悴。 public static final

? ? ? ? 接口沒有構(gòu)造方法掖棉。 成員方法只能是抽象方法。 public abstract

12膀估、類與類幔亥,類與接口,接口與接口

? ? 類與類:繼承關(guān)系玖像,只能是單繼承關(guān)系紫谷,可以多層繼承

? ? 類與接口:實(shí)現(xiàn)關(guān)系,可以是單實(shí)現(xiàn)捐寥,可以是多實(shí)現(xiàn)笤昨,并且可以繼承一個類的同時實(shí)現(xiàn)多個接口

? ? 接口與接口:繼承關(guān)系,可以單繼承可以多繼承

13握恳、權(quán)限修飾符

? ? ? ? ? ? ? ? ? ? ? 本類??? 同一個包下(子類和無關(guān)類)?? 不同包下(子類)? 不同包下(無關(guān)類)

??????? private? ? ?Y??????

??????? 默認(rèn)? ? ? ? ?Y? ? ? ? ? ? ? ? ? ? ? ?Y

??????? protected Y? ? ? ? ? ? ? ? ? ? ? ? Y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Y

??????? public? ? ? ?Y? ? ? ? ? ? ? ? ? ? ? ? ?Y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Y? ? ? ? ? ? ? ? ? ? ?Y

14瞒窒、內(nèi)部類私有

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

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

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

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

? ? B:成員內(nèi)部類私有使用

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

  • 序言:七十年代末束昵,一起剝皮案震驚了整個濱河市拔稳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锹雏,老刑警劉巖巴比,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異礁遵,居然都是意外死亡轻绞,警方通過查閱死者的電腦和手機(jī)糕簿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門梗劫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜜葱,“玉大人命咐,你說我怎么就攤上這事病附∏糠ǎ” “怎么了灌危?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵尺栖,是天一觀的道長讽挟。 經(jīng)常有香客問我然走,道長,這世上最難降的妖魔是什么戏挡? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任芍瑞,我火速辦了婚禮,結(jié)果婚禮上褐墅,老公的妹妹穿的比我還像新娘拆檬。我一直安慰自己洪己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布竟贯。 她就那樣靜靜地躺著答捕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屑那。 梳的紋絲不亂的頭發(fā)上拱镐,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音持际,去河邊找鬼沃琅。 笑死,一個胖子當(dāng)著我的面吹牛蜘欲,可吹牛的內(nèi)容都是我干的益眉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼姥份,長吁一口氣:“原來是場噩夢啊……” “哼郭脂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起澈歉,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤展鸡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后埃难,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娱颊,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年凯砍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴竹。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡悟衩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栓拜,到底是詐尸還是另有隱情座泳,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布幕与,位于F島的核電站挑势,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏啦鸣。R本人自食惡果不足惜潮饱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诫给。 院中可真熱鬧香拉,春花似錦啦扬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至盛险,卻和暖如春瞄摊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苦掘。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工换帜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸟蜡。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓膜赃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揉忘。 傳聞我的和親對象是個殘疾皇子跳座,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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