物件導向03

2021-10-01 05:43:25 字數 2671 閱讀 6504

1.static:靜態的

靜態不能直接呼叫非靜態,非靜態可以呼叫靜態

1)靜態變數:物件共有的屬性可以定義為靜態

1.1)由static修飾

1.2)屬於類的,存在方法區中,只有乙份,隨著類載入而使用

1.3)常常通過類名.來訪問

1.4)何時用:所有物件的資料一樣時使用

2)靜態方法:

2.1)由static修飾

2.2)屬於類的,存在方法區中,只有乙份

2.3)常常通過類名.來訪問

2.4)沒有隱式的this傳遞

靜態方法中不能直接訪問例項成員

3)靜態塊:

3.1)由static修飾

3.2)屬於類的,類被載入期間自動執行

類只被載入一次,所以靜態塊也只執行一次

2.final:不能變

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

3)修飾類:類不能被繼承

3.static final常量:

1)必須宣告同時初始化

2)不能改變,通過類名點來訪問

3)建議:常量名所有字母都大寫

4)在編譯時被直接替換為具體的值,效率高

4.抽象方法:

1)由abstract修飾

2)只有方法的定義,沒有方法的實現(沒有大括號)

abstract void eat();

5.抽象類:

1)由abstract修飾

2)包含抽象方法的類必須是抽象類,乙個類中如果包含抽象方法,該類應用abstract關鍵字宣告為抽象類。

不包含抽象方法的類也可以宣告為抽象類

如果乙個類繼承了抽象類,必須重寫其抽象方法

(除非該類也宣告為抽象類)。

3)抽象類不能被例項化(不能new物件)

4)抽象類是需要被繼承的,子類:

4.1)子類重寫所有抽象方法---常用

4.2)子類也宣告為抽象類-----不常用

5)抽象類的意義:

5.1)包含公共的屬性和行為,被子類所共享--**的重用

5.2)為所有子類提供一種統一的型別--向上造型

5.3)包含抽象方法:為所有子類提供乙個統一的入口

子類有不同的實現

6.介面:

1)是乙個標準、規範

遵守了這個標準,就能幹某件事

2)由inte***ce定義

3)只能包含常量和抽象方法(介面是抽象類)

4)介面不能被例項化

5)介面是需要被實現的/繼承的,實現類/子類:

必須重寫介面中的所有抽象方法(被重寫的方法

必須被public修飾)

6)乙個類可以實現多個介面,用逗號分隔,

若又繼承又實現時,應先繼承extends後實現implements

7)介面可以繼承介面

類對類--------單繼承

介面對介面----多繼承

類和介面------多實現

7.設計原則:

1.將公共的屬性和行為封裝到父類中

2.所有子類的行為都一樣----普通方法

所有子類的行為不一樣----抽象方法

3.若符合既是也是原則時,使用介面;

若方法是部分子類的共有行為---介面

若方法是所有子類的共有行為---父類

8.多型

1)意義:

1.1)同一型別的引用指向不同的物件時,有不同的實現  

-----行為的多型:cut(),run()

1.2)同一物件被造型為不同的型別時,有不同的功能

-----物件的多型:水,我

2)向上造型:小到大

(子類造型為父類,父型引用指向子類物件)

2.1)父型別的引用指向子類的物件

2.2)能造型成的型別有:

父型別、實現的介面

2.3)能點出來什麼,看引用的型別

3)強制型別轉換,成功的條件:

3.1)引用所指向的物件,就是該型別

3.2)引用所指向的物件,實現了該介面

aoo o1 = new boo();//向上造型

boo o2 = (boo) o1;//符合條件1

4)建議強轉之前通過instanceof來判斷引用是否是某種型別

instanceof返回boolean結果

強轉成功的條件就是它為true的條件

system.out.println(o1 instanceof boo);//true

9.內部類:

1)成員內部類:不太常用

1.1)類中套類,外面的叫外部類,裡面的叫內部類

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

1.3)內部類物件通常是在外部類中建立的

1.4)內部類中可以直接訪問外部類的成員(包括私有的)

內部類中有個隱式的引用指向建立它的外部類

語法:外部類名.this.

2)匿名內部類:常用

2.1)如果想建立乙個類的物件,並且物件只被建立一次,

此時該類不必命名,稱為匿名內部類。

2.2)在匿名內部類中訪問外部的資料,該資料必須是final的

物件導向 03

類屬性和例項屬性的概念 類屬性是給類物件 類是乙個特殊的物件 中定義的屬性,通常用來記錄與這個類相關的特徵,類屬性不會用於記錄具體物件的特徵。類屬性的定義是在初始化方法之外的 例項物件的屬性叫做例項屬性,在初始化方法內部定義 類屬性和例項屬性的訪問 類屬性的訪問是類名.類屬性 例項屬性的訪問是例項物...

物件導向03

將資料 屬性 和行為 方法 包裝到類物件中,在方法內部對屬性進行操作,在類物件的外部呼叫方法 在類物件的內部通過訪問控制把某些屬性和方法隱藏起來,不允許在類物件外部直接訪問,而是在類物件內部對外提供公開的介面方法以訪問隱藏的資訊。介面class student object def init sel...

python 物件導向 03 物件導向基礎語法

在python中可以使用以下兩個方法驗證 在識別符號 資料後輸入乙個.然後按下tab鍵,ipython會提示該物件能夠呼叫的方法列表 使用內建函式dir傳入識別符號 資料,可以檢視物件內的所有屬性及方法 提示 方法名 格式的方法是python提供的內建方法 屬性,稍後會給大家介紹一些常用的 內建方法...