關於內部類的理解

2021-09-26 04:53:18 字數 1214 閱讀 4411

內部類的型別分為三種:

1.在外部類(out)的方法體外部定義的內部類(inner)。

2.在外部類(out)的方法體內部定義的內部類(inner)。

3.在外部類(out)的方法體內部定義的隱匿內部類(static nested class)

4.在外部類(out)的方法體內部定義的靜態內部類(static inner class)

// an inner class

public

class

outer

public

class

inner

}

方法體外部的內部類可以有四種訪問許可權:public protect friendly private 決定了內部類對於其他類是否可見,內部類可以訪問外部類的普通成員屬性,內部類也可以在其他地方建立例項物件,但是需要先創造外部類的例項物件然後再創造內部類的例項物件。

// an highlighted block

outer out =

newouter

;outer.inner inner = out.

newinner()

;

// an inner class

public

class

outer}}

}

定義在方法體內部的內部類,不能夠有訪問型別的修飾符,在jdk1.7之前,方法體內的內部類只能夠訪問方法中的final變數,在1.8中去除了這個限制。

// an static nested inner class

public

class

outer

}}

匿名內部類需要實現某個介面或者繼承某個類/抽象類,匿名類沒有類名,所以沒有構造器,語法為:

new

supertype

(construction parameters)

外部在引用匿名類的時候,不需要再建立外部類的例項物件,可以直接創造static nested class,語法為:

outer.inner inner =

newouter.inner()

;

當內部類不需要被外部所引用的時候,可以在類的前面加上static。

關於對內部類的理解

關於內部類,由於本人經驗尚淺,在開發過程中幾乎沒用到過,所以我個人對內部類的作用理解就是 減少一些只使用一次的類,優化專案的結構。例如使用內部類作為引數傳遞。內部類按照在類中定義的位置可以劃分為兩大類 再細分可以分為4類,如下圖所示 內部類的共同特點 可以訪問外部類的所有成員,包括私有的 當內部類和...

內部類的理解

在類outer的內部再定義乙個類inner,這個inner就是內部類,outer則稱為外部類。內部類優點 方便的訪問外部類中的私有屬性,同時,外部類可以也可以方便的訪問內部類的私有屬性,這樣可以避免封裝帶來的操作結構複雜的問題。內部類 好處 可以方便的訪問外部類中的私有屬性。public class...

關於內部類

對內部類用的少,基本上都有點陌生了。今天看到乙個部落格感覺還不錯就轉了過來。先謝謝博主!1 關於內部類的說明 1 在乙個類中定義另外乙個類,這個類就叫做內部類 inner class 內部類的定義和普通類的定義沒什麼區別,它可以直接訪問和引用它的外部類的所有變數和方法 包括private 就像外部類...