什么是面向?qū)ο螅?/h2>
1.面向?qū)ο笫且环N編程思想。
2.面向?qū)ο笫且环N思考問題的思維方式。
面向?qū)ο蟮某霈F(xiàn)將復(fù)雜的問題簡單化。讓曾經(jīng)在過程中的執(zhí)行者,變成了對象中的指揮者。
如何學(xué)習(xí)面向?qū)ο螅?/h2>
1、掌握一門面向?qū)ο笳Z言的語法。
2、熟悉面向?qū)ο蟮脑O(shè)計原則。
3、熟悉面向?qū)ο蟮脑O(shè)計模式。
類與對象
什么是類?
1、類是分類,類別。
2、通過分類,我們可以區(qū)別不同的事物種類,
3、所以,類是一組具有相同特性(屬性)與行為(方法)的事物集合。
類與對象的關(guān)系。
1、類表示一個共性的產(chǎn)物,是一個綜合的特征,而對象是一個個性的產(chǎn)物,是一個個體的特征。
2,、類由屬性和方法組成,(描述事物的兩個特點(diǎn))
類是事物的描述,對象是該類的實(shí)例。在java中通過new創(chuàng)建。
屬性:相當(dāng)于一個個的特征。
方法:相當(dāng)于人的一個個的行為。
java中定義類的語法:
class 類名 {
? ? ? ? ? ? 屬性名稱;
? ? ? ? ? ? 返回值類型? ? ? 方法名稱(){
}
}
對象定義的格式:
類名稱 對象名稱 = new 類名稱();
訪問對象的屬性:對象.屬性
訪問對象的方法:對象.方法();
寫 public時類名和文件名必須一致。通常一致都。void表示沒有返回值類型。
new 關(guān)鍵字
1.new 關(guān)鍵字表示創(chuàng)建一個對象。
2.new關(guān)鍵字表示實(shí)例化對象。
3.new關(guān)鍵字表示申請內(nèi)存空間。
在棧內(nèi)存中沒有任何指針指向堆內(nèi)存的東西就視為垃圾。

成員變量和局部變量的區(qū)別
1.成員變量定義在類中,整個類中都可以訪問,局部變量定義在函數(shù),語句,局部代碼塊中,只在所屬區(qū)域有效。
2.成員變量存在于堆內(nèi)存的對象中,局部變量位于棧內(nèi)存的方法中。
3.成員變量隨著對象的創(chuàng)建而存在,對象的消失而消失,局部變量隨著所屬區(qū)域的執(zhí)行而存在,隨著所屬區(qū)域的位數(shù)而釋放。
4.成員變量都有默認(rèn)初始化值,局部變量沒有默認(rèn)初始化值。
面向?qū)ο笕筇匦?封裝性,繼承性,多態(tài)性。
封裝性
概念:隱藏實(shí)現(xiàn)細(xì)節(jié),僅對外提供訪問接口。
eg:屬性,方法,類,組件,模塊化,系統(tǒng)級...等的封裝。
封裝的好處:
1.模塊化。
2.信息隱藏。(隱藏實(shí)現(xiàn)細(xì)節(jié)僅對外提供公共的訪問方式)
3.代碼重用。
4.插件化易于調(diào)試。
5.具有安全性。
類的構(gòu)造方法
什么是構(gòu)造方法?
就是類構(gòu)造對象時調(diào)用的方法,用于對象的初始化操作。用于對象的初始化工作。
構(gòu)造方法是實(shí)例化一個類的對象時,也就是new時,最先調(diào)用的方法。
構(gòu)造方法的定義
在類中定義,方法名稱與類名相同,無返回值。void也不可以。
方法重載
在類中可以創(chuàng)建多個方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。
匿名對象
1.匿名對象就是定義一個沒有名稱的對象。
2.該對象的特點(diǎn)是只能使用一次。
3.該對象會直接在堆中開辟內(nèi)存空間。
4.該對象使用后會成為垃圾對象,被GC(垃圾回收)回收。
繼承性
子類繼承父類的特征和行為
1.提高了代碼的復(fù)用性,
2.讓類與類之間產(chǎn)生了關(guān)系,給多態(tài)提供了前提。
Java中支持單繼承,不直接支持多繼承,但是對c++中的多繼承機(jī)制進(jìn)行了改良。
多態(tài)性
1.同一個事件發(fā)生在不同的對象上會產(chǎn)生不同的結(jié)果
2.一個對象應(yīng)對著不同的類型。
3.代碼體現(xiàn):父類或者接口的引用指向其子類對象。
多態(tài)的好處: 提高了代碼的擴(kuò)展性,前期定義的代碼可以使用后期的內(nèi)容。
多態(tài)的弊端: 前期定義的代碼不能調(diào)用后期子類特有的內(nèi)容。
多態(tài)的前提:
1.必須有關(guān)系,繼承或者實(shí)現(xiàn)
2.要有覆蓋
修飾符以及權(quán)限
多態(tài)成員的特點(diǎn)
1.成員變量
編譯時:參考引用型變量所屬類中是否有調(diào)用成員變量,有編譯通過。沒,編譯失敗。
運(yùn)行時:參考引用變量的所屬類中是否調(diào)用成員變量,并運(yùn)行該所屬類中的成員變量。
概括:編譯和運(yùn)行都參考等號的左邊。
2.成員函數(shù)(非靜態(tài))
編譯時:參考引用型變量所屬類中是否有調(diào)用的函數(shù),有,編譯通過,沒有,編譯失敗。
運(yùn)行時:參考的是對象所屬的類中是否有調(diào)用的函數(shù)。
概括:編譯看左邊,運(yùn)行看右邊。
3.靜態(tài)函數(shù)
編譯時:參考引用型變量所屬的類中是否有調(diào)用的函數(shù),有編譯通過,沒,編譯失敗。
運(yùn)行時:參考的是對象所屬的類中是否有調(diào)用的函數(shù)。
概括:編譯看左邊,運(yùn)行看右邊。
什么是訪問修飾符?
就是對某個定義域的權(quán)限控制。