靜態內部類和非靜態內部類區別

2021-09-12 03:33:27 字數 390 閱讀 2884

靜態內部類可以建立靜態的成員,而非靜態的內部類不可以,原因:內部類相當於外部類的乙個屬性,非靜態內部類中如果可以使用靜態成員,但是非靜態內部類是相當於非靜態成員,是在類例項化的時候才可以使用的,所以在非靜態類中定義靜態變數有一點多餘,所以不可以這樣使用。但是在非靜態內部類中可以定義static final int i=1;

靜態內部類只可以訪問外部類中的靜態成員變數與成員方法而非靜 態的內部類即可以訪問靜態的也可以訪問非靜態的外部類成員方法與成員變數:原因:靜態內部類可以不通過例項化,直接引用裡面的屬性和物件,因此,如果可以訪問外部的非靜態成員,則非靜態成員有可能沒有例項化。

靜態內部類不是外部內被載入的時候就載入,而是在需要呼叫內部靜態類的時候才會載入的。

靜態內部類不能實現介面,但是非靜態內部類是可以實現介面的

靜態內部類和非靜態內部類區別

靜態內部類可以建立靜態的成員,而非靜態的內部類不可以,原因 內部類相當於外部類的乙個屬性,非靜態內部類中如果可以使用靜態成員,但是非靜態內部類是相當於非靜態成員,是在類例項化的時候才可以使用的,所以在非靜態類中定義靜態變數有一點多餘,所以不可以這樣使用。但是在非靜態內部類中可以定義static fi...

靜態內部類和非靜態內部類的異同

1.內部類是建立在外部類內的類,也就是類可以有巢狀關係 2.內部類有普通內部類和靜態內部類,區別在於是否被static修飾 普通內部類 靜態內部類 示例如下 package com.yst.learn public class demo class outter 非靜態內部類可以訪問外部類的全部資源...

靜態屬性 15 內部類 非靜態內部類

非靜態內部類在內部類中有使用,但不是很頻繁的使用 非靜態內部類即 在乙個類中還有乙個類 非靜態內部類 外部類裡使用非靜態內部類和平時使用其他類沒什麼不同 1.非靜態內部類物件必須寄存在乙個外部類物件裡。因此,如果有乙個非靜態內部類 物件那麼一定存在對應的外部類物件。非靜態內部類物件單獨屬於外部類的某...