1. 程式人生 > >Java —— this關鍵字和內部類

Java —— this關鍵字和內部類

一、this關鍵字

(1)this關鍵字代表當前物件

(2)this.屬性 操作當前物件的屬性

(3)this.方法 呼叫當前物件的方法

二、關於內部類

1、基本概念:內部類就是定義在另外一個類裡面的類。與之對應,包含內部類的類被稱為外部類。

2、作用:

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

  2. 內部類的方法可以直接訪問外部類的所有資料,包括私有的資料

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

3、類別:

  1. 內部類分為成員內部類,靜態內部類和方法內部類。

三、成員內部類

1、 Inner 類定義在 Outer 類的內部,相當於 Outer 類的一個成員變數的位置

2、Outer 類不能直接使用 Inner 類的成員和方法

3、如果 Outer 和 Inner 類具有相同的成員變數或方法, Inner 類預設訪問自己的成員變數或方法,如果要訪問 Outer 類的成員變數,可以使用 this 關鍵字

語法:

外部類名.this.成員變數名

4、語法:

    //建立外部類的物件
    外部類名 外部物件名 = new 外部類名(); 

    //建立內部類的物件
    內部類名 內部物件名 = 外部物件名.new 內部類名();

四、靜態內部類

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

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

3、如果外部類的靜態成員與內部類的成員名稱不相同,則可通過“成員名”直接呼叫外部類的靜態成員

4、語法:

    內部類 物件名= new 內部類();

五、方法內部類

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

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

六、匿名內部類

1、匿名內部類就是沒有名字的內部類

2、多用於關注實現而不關注實現類的名稱