接下來一段時間担扑,會持續(xù)發(fā)布一個JavaSE學(xué)習(xí)筆記系列文章恰响!
1.構(gòu)造方法
- 構(gòu)造方法是用來初始化對象的一個方法涌献。
- 使用new+構(gòu)造方法可以創(chuàng)建一個對象胚宦。
- 構(gòu)造方法沒有返回值且與類同名枢劝。
- 當(dāng)沒有構(gòu)造方法時您旁,系統(tǒng)給出形如 類名(){}的默認(rèn)構(gòu)造方法鹤盒。
- 如果已經(jīng)定義了構(gòu)造方法侦锯,則系統(tǒng)就不再有默認(rèn)的構(gòu)造方法率触。
2.約定俗成的命名規(guī)則
- 類名首字母應(yīng)該大寫葱蝗。
- 變量名和方法名首字母應(yīng)該小寫两曼。
- 應(yīng)用駝峰標(biāo)識玻驻。(在有多個單詞構(gòu)成時璧瞬,除了首字母遵循1嗤锉、2規(guī)則外瘟忱,其余字母的首字母都應(yīng)該大寫)
3.重載
- 方法的重載是指一個類中可以有多個相同名字但是參數(shù)不同的方法访诱。調(diào)用時触菜,會根據(jù)不同的參數(shù)來選擇不同的方法涡相。
- 方法的名字漾峡、參數(shù)相同生逸,但是返回值不同的方法不構(gòu)成重載槽袄。
- 構(gòu)造方法也可以重載遍尺。根據(jù)不同的對象創(chuàng)建不同的對象乾戏。
4.this關(guān)鍵字
- 在類的方法定義中使用的this關(guān)鍵字代表使用該方法對象的引用。
- 當(dāng)必須指出當(dāng)前使用的對象是誰時必須使用this關(guān)鍵字。
- 有時使用this可以處理成員變量和參數(shù)重名的情況抑堡。(this 變量代表對象本身首妖,可以區(qū)分成員變量和局部變量)
- this可以看成是一個變量有缆,它的值是當(dāng)前對象的引用妒貌。
- this一般出現(xiàn)在方法里灌曙。
- this 可以簡化構(gòu)造函數(shù)的調(diào)用在刺。
- this 變量允許相同的實例方法為不同的對象工作。每當(dāng)調(diào)用一個實例方法時颖杏,this變量將被設(shè)置成引用該實例方法特定的類對象方法的代碼接著會與this所代表的對象的特定數(shù)據(jù)進行關(guān)聯(lián)
5.static關(guān)鍵字
- 在類中用static聲明的成員變量為靜態(tài)成員變量留储,它為類的共有變量获讳,在第一次使用時被初始化丐膝,對于該類的所有對象來說偎肃,static變量只有一份软棺。
- static聲明的方法為靜態(tài)方法,在調(diào)用該方法時最冰,不會將對象的引用傳遞給它,所以在靜態(tài)方法中不能訪問非靜態(tài)方法篇裁。(靜態(tài)方法不再是針對某個的對象的引用)
- 可以通過對象的引用或者類名訪問靜態(tài)成員(不需要實例化)达布。
- 靜態(tài)變量放在數(shù)據(jù)區(qū)。(字符串也放在數(shù)據(jù)區(qū))
- 靜態(tài)變量是屬于某個類的产还,而不屬于某個對象。非靜態(tài)成員專屬于某個對象她按,所以訪問某個非靜態(tài)成員時必須先new一個對象出來倔叼。(皮之不存,毛將焉附)
- 靜態(tài)變量可以用來計數(shù)巡验,非靜態(tài)變量不行框弛。
- 非靜態(tài)方法可以調(diào)用靜態(tài)方法瑟枫!
6.繼承
- Java中使用extends關(guān)鍵字實現(xiàn)類的繼承。
- 通過繼承膝擂,子類自動擁有了基類的所有成員(成員變量和方法)
- Java只支持單繼承,不支持多繼承叉寂。(一個基類可以可以派生出多個子類,一個子類只能繼承一個基類)
- 繼承是“是”關(guān)系T胁酢(XX是一種XX)
- 構(gòu)造方法不能直接被繼承,要繼承父類的構(gòu)造方法要使用super關(guān)鍵字佳鳖。
7.訪問控制
對于class的權(quán)限控制只能用public或default修飾妒蔚。(public類可以在任何地方被訪問科盛。default類只可以被同一個包內(nèi)部的類訪問)
8.方法的重寫
- 在子類中可以根據(jù)需要從基類中繼承來的方法進行重寫厉萝。
- 重寫的方法必須和被重寫的方法有相同的方法名稱谴垫、參數(shù)列表和返回值弹渔。
- 重寫方法不能擁有比被重寫方法更高的訪問權(quán)限舞肆。
- 方法的重寫(覆蓋)發(fā)生在子類與父類之間筷登。(方法的重載在同一個類中)
- 原則:重寫方法時最好copy父類的方法。
9.super關(guān)鍵字
- 在Java中可以用super關(guān)鍵字調(diào)用基類的成員。
- super指向當(dāng)前對象的父對象班巩。
10.繼承中的構(gòu)造方法
- 子類構(gòu)造的過程中必須調(diào)用其基類的構(gòu)造方法。
- 子類可以在自己的構(gòu)造方法中使用super(參數(shù)列表)調(diào)用父類的構(gòu)造方法。
- 使用this調(diào)用本類的另外的構(gòu)造方法
- 如果調(diào)用super寺渗,必須寫在子類的構(gòu)造方法的第一行
- 如果子類中沒有顯示地調(diào)用父類的構(gòu)造方法码秉,則系統(tǒng)默認(rèn)調(diào)用父類的無參的構(gòu)造方法鲸伴。(相當(dāng)于隱含地調(diào)用了super())
- 如果子類既沒有顯示地調(diào)用父類的構(gòu)造方法姓赤,父類中也沒有無參的構(gòu)造方法,則編譯出錯誓斥。
11.object類
- object類為所有類的基類成畦。所有對象(包括數(shù)組)都實現(xiàn)這個類的方法框仔。
- 如果在類的聲明中未使用extends關(guān)鍵字指明其基類,則默認(rèn)基類為objcet類。