物件導向總結

2021-08-14 23:59:56 字數 2331 閱讀 2533

成員變數:

1.類中,方法外

2.建立物件存在與堆中,物件被**時一併消失

3.成員變數有預設值

區域性變數

1.方法中

2.呼叫方法存在於棧幀中,方法呼叫完畢隨棧幀一併消失

3.區域性變數沒有預設值

public class koo 

}

重寫遵循 兩同兩小一大:

兩同:1.方法名稱相同

2.引數列表相同

兩小:1.子類方法的返回值型別小於或等於父類的(返回值型別為void和基本型別時,必須相同)

2.子類方法丟擲的異常小於或等於父類

一大:子類方法的訪問許可權大於等於父類

重寫與過載的區別:

重寫:1.發生在父子類中,方法名稱相同,引數列表相同,方法體不同

2.重寫遵循「執行期」繫結,看物件的型別來呼叫方法

過載:1.發生在乙個類中,方法名稱相同,引數列表不同,方法體也不同

2.過載遵循「編譯期」繫結,所以看引用的型別來繫結方法

抽象類:

1.abstract修飾

2.包含抽象方法的類必須是抽象類,不包含抽象方法的類也可以宣告為抽象類

3.抽象類不能被例項化,抽象類都是需要被繼承的,並重寫所有的抽象方法

抽象類的意義:

1.**復用(封裝子類所共有的屬性和行為)

2.向上造型:(為所有的子類提供了一種統一的型別)

3.可以包含抽象方法,為所有的子類提供了統一的入口(子類可以有不同的實現,但是方法的定義(入口)是相同的)

介面:1.是乙個標準、規範(制定方遵守了這個標準就能幹某件事)

2.介面是一種資料型別(引用型別)

3.用inte***ce定義,只能包含常量和抽象方法(預設也是這兩種,預設為public)

4.介面不能被例項化

5.介面是需要被實現的,實現類/子類,必須實現介面中的所有抽象方法

6.乙個類可以實現多個介面,實現類中的實現方法必須用public修飾

7.若既有繼承又有實現時,應先繼承後實現

8.介面可以繼承介面

9.介面是完全抽象的抽象類 

10.介面是對繼承的單根性的擴充套件

設計規則:

1.將共有的屬性和行為,抽象到父類中

2.所有子類的行為都一樣則設計成普通方法,所有子類的行為都不一樣則設計成抽象方法

3.所有子類共有的抽象行為抽象到抽象方法中,部分子類共有的抽象行為抽象到介面中

向上 造型:

1.乙個物件能點出什麼來,看引用的型別。

2.重寫方法被呼叫,看物件的型別。

3.能造型成為的型別:父類+所實現的介面

強制轉換成功的條件:

1.引用所指向的型別就是該型別

2.引用所指向的型別實現了該介面

3.如果不符合以上兩個條件,則發生classcastexception型別轉換異常,建議強轉之前用

instanceof來判斷引用的物件是否為該型別

多型意義:

1.行為多型(同一型別的引用指向不同物件時,有不同的實現)

2.物件多型(同乙個物件向上造型為不同的型別時,有不同的功能)

靜態變數:

1.靜態變數屬於類,存在方法區中,只有乙份

2.通常通過類名點來訪問

靜態方法:

1.屬於類,存在方法區中,只有乙份

2.靜態方法沒有隱式的this傳遞

class test

public static void test2()

}

靜態塊(static塊):

屬於類的**塊,在類載入期間執行的**塊,只執行一次,可以用來在軟體中載入靜態資源。

final(最終的):

1.修飾變數:變數不能被改變

2.修飾方法:方法不能被重寫

3.修飾類:類不能被繼承,但可以繼承別人

static final(應用率高,稱為常量)

1.必須宣告同時初始化,不可改變

2.常量名建議所有字母都大寫,多個單詞之間用_分隔

3.常量和靜態變數之間的區別:編譯器在編譯時將常量直接替換為具體的值,效率高

成員內部類(應用率比較低)

1.類中套類,外面的稱為外部類,裡面的稱為內部類

2.內部類通常只服務於外部類,對外不具備可見性

3.內部類物件通常是在外部類中建立的

4.內部類可以直接訪問外部類中的成員,也包括私有的

匿名內部類(應用率較高)

定義:如果在一段程式中需要建立乙個類的物件(通常這個類需要實現某個介面或者繼承某個類),而且物件建立後

這個類的價值就不存在了。這個類可以不必命名,稱之為匿名內部類。

物件導向總結

物件導向 它是一種程式設計思想,一種通過多個物件之間互相協作完成功能處理流程的程式設計思路,它是相對於面向過程而言的,是面向過程程式設計思想的補充和完善,更加適用於處理複雜業務流程的系統開發。封裝 體現了物件對於敏感資料的保護特徵 繼承 體現了 的復用和功能的擴充套件 多型 體現了不同操作環境中 的...

物件導向總結

1 類與物件的區別 類是物件的抽象,物件是類的例項 2 成員變數 與 區域性變數區別 1 定義在類中 定義在方法中 2 作用在類中 作用於整個方法 3 系統自動初始化 使用前必須初始化 4 隨物件一同載入到堆中,物件無引用時銷毀 在方法呼叫時,在棧中產生一塊棧幀,方法執行完後消失3 封裝實現 1 屬...

物件導向總結

物件導向的程式設計關注於類的設計!1 乙個專案或工程,不管多龐大,一定是有乙個乙個類的構成的。2 類是抽象的,好比是製造汽車的圖紙。而具體的一輛一輛的車,是根據圖紙製造的,實際上就是類的例項化 3.完成乙個專案 或功能 的思路 1 所要完成的功能對應的類的物件是否存在 2 若存在,則通過物件直接呼叫...