JAVA從入門到精通(9)-- 封裝

一、面向對象特徵

封裝、繼承、多態

二、封裝

1》定義:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。

2》好處:

a、只能通過規定的方法訪問數據

b、隱藏類的實例細節,方便修改和實現

3》步驟:

a、修改屬性的可見性---設爲private

b、創建getter/setter方法---用於屬性的讀寫(不一定使用getter/setter方法,可以使用普通方法給變量賦值,但不標準)

c、在getter/setter方法中加入屬性控制語句---對屬性值的合法性進行判斷

三、使用包管理Java中的類

1》包的作用(類似於文件夾)

管理Java文件,解決同名文件衝突

2》定義包: package 包名

注:必須放在Java源程序的第一行

包名間可以使用" . "號隔開  eg:com.qps.MyClass

3》系統中的包

java . (功能) . (類)

java . lang . (類)   包含java語言基礎的類

java . util. (類)   包含java語言中各種工具類

java . io . (類)   包含輸入、輸出相關功能的類

4》包的使用

1》可以通過import關鍵字,在某個文件使用其他文件中的類。

import com.imq.music.MyClass

2》Java中,包的命名規範是全小寫字母拼寫

3》使用的時候不但可以加載某個包下的所有文件   eg:com.qos.*

也可以加載某個具體子包下的所有文件    eg: com.qps.music.*

四、Java中的訪問修飾符

訪問修飾符:可以修飾屬性和方法的訪問範圍

五、Java中的this關鍵字

1》this關鍵字代表當前對象

this.屬性 操作當前對象的屬性

this.方法 操作當前對象的方法

2》封裝對象的屬性的時候,經常會使用this關鍵字

六、Java中的內部類

1》定義:內部類(Inner Class)就是定義在另外一個類裏面的類。與之對應,包含內部類的類被稱爲外部類。

2》作用:

a、內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同一個包中的其他類訪問該類

b、內部類的方法可以直接訪問外部類的所有數據,包括私有的數據

c、內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類更方便

3》內部類分類:

. 成員內部類

. 靜態內部類

. 方法內部類

. 匿名內部類

4》成員內部類

內部類中最常見的就是成員內部類,也成爲普通內部類。

成員內部類的使用方法:

1》Inner類定義在Outer類的內部,相當於Outer類的一個成員變量的位置,Inner類可以使用任意訪問控制符

2》Inner類中定義的方法可以直接訪問Outer類中的數據,而不受訪問控制符的影響,如直接訪問Outer類中的私有屬性

3》定義了成員內部類後,必須使用外部類對象來創建內部類對象,而不能直接去new 一個內部類對象。即:內部類   對象名 = 外部對象類.new   內部類();

4》編譯程序後,成員內部類的.class文件總是:外部類名$內部類名.class

注:1.外部類是不能直接使用內部類的成員和方法的,可先創建內部類的對象,然後通過內部類的對象來訪問其成員變量和方法。

2.如果外部類和內部類具有相同的成員變量或方法,內部類默認訪問自己的成員變量或方法,如果要訪問外部類的成員變量,可以使用 this 關鍵字。

5》靜態內部類

靜態內部類是static修飾的內部類,這種內部類的特點是:

1.靜態內部類不能直接訪問外部類的非靜態成員,但可以通過new  外部類().成員   的方式訪問

2.如果外部類的靜態成員與內部類的成員名稱相同,可通過 “ 類名 . 靜態成員”訪問外部類的靜態成員;

   如果外部類的靜態成員與內部類的成員名稱不相同,可通過“ 成員名 ”直接調用外部類的靜態成員

3.創建靜態內部類的對象時,不需要外部類的對象,可以直接創建 :  內部類   對象名   =   new   內部類() ;

6》方法內部類

方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。

注:由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和static修飾符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章