內部類的分類有哪些?什麼是內部類?

2022-09-07 12:42:09 字數 921 閱讀 3174

內部類的分類有哪些?

內部類可以分為四種: 成員內部類、區域性內部類、匿名內部類和靜態內部類 。

什麼是內部類?

在j**a語言中,可以吧乙個類定義到另外乙個類的內部,在類裡面的這個類就叫內部類,外面的類就叫外部類。在這情況下,這個內部類可以看做外部類的乙個成員。還有一種類被稱為頂層類,指的是類定義**不巢狀在其他類定義中的類。

靜態內部類是指被宣告為static的內部類,他可以不依賴內部類而例項,而通常的內部類需要例項化外部類,從而例項化。靜態內部類不可以有與外部類有相同的類名。不能訪問外部類的普通成員變數,但是可以訪問靜態成員變數和靜態方法(包括私有型別)

乙個 靜態內部類去掉static 就是成員內部類,他可以自由的引用外部類的屬性和方法,無論是靜態還是非靜態。但是不可以有靜態屬性和方法、

區域性內部類 就是定義在乙個**塊的內類,他的作用範圍是所在**塊,是內部類中最少使用的一型別。區域性內部類跟區域性變數一樣,不能被public ,protected,private以及static修飾,只能訪問方法中定義final型別的區域性變數。

匿名內部類是一種沒有類名的內部類,不使用class,extends,implements,沒有建構函式,他必須繼承其他類或實現其他介面。匿名內部類的好處是使**更加簡潔,緊湊,但是帶來的問題是易讀性下降。他一般應用於gui程式設計來實現時間處理等 。

在使用匿名內部類時,需要牢記以下幾個原則。

1》內部類沒有構造方法

2》匿名內部類不能定義靜態成員,方法和類

3》匿名內部類不能是public protected private static

4》只能建立匿名內部類的乙個例項

5》乙個匿名內部類可以在new後面,這個匿名類必須繼承乙個父類或實現介面

6》因為匿名內部類為區域性內部類,所以區域性內部類的所有限制都對其生效

內部類的分類

靜態內部類,非靜態內部類 非靜態內部類 public class inclass class outer class inner 要點 1.非靜態的內部類必須寄存在乙個外部類的物件裡,因此,如果有乙個非靜態內部類物件那麼一定存在乙個對應的外部類物件,非靜態內部類物件單獨屬於外部類的某個物件 2.非靜...

內部類的分類

成員內部類 區域性內部類 靜態內部類 匿名內部類 內部類可以直接訪問外部類的變數,方法,包括私有。外部類要訪問內部類的變數或者方法需要建立內部類的物件。成員內部類 內部類的位置處在外部類的成員變數的位置。class outter 內部類的例項化 外部類名.內部類名 物件名 new 外部類名.new ...

內部類 內部類的訪問 匿名內部類

內部類 將乙個類定義在另乙個類的裡面,對立面那個類就成為內部類 內建類,巢狀類 定義 當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事務在使用外部事物的內容。舉例子心臟 內部類的訪問規則 1內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類的成員 因為內部類中持有...