靜態內部類java
發布時間: 2025-07-04 07:25:45
⑴ Java面試題—內部類和靜態內部類的區別
Java中內部類和靜態內部類的區別如下:
內部類: 成員聲明:內部類的變數和方法不能聲明為靜態的。 實例化:要實例化內部類,需要先實例化外部類,然後通過外部類的實例來創建內部類的實例,如A.B b = new A.new B。 訪問許可權:內部類可以引用外部類的靜態或者非靜態屬性及方法。
靜態內部類: 成員聲明:靜態內部類的屬性和方法可以聲明為靜態的或者非靜態的。 實例化:靜態內部類不需要依賴於外部類的實例,可以直接通過外部類名來創建內部類的實例,如A.B b = new A.B。 訪問許可權:靜態內部類只能引用外部類的靜態的屬性及方法,不能引用非靜態的屬性和方法。
總結: 內部類依賴於外部類的存在,而靜態內部類則可以完全獨立。 非靜態內部類不能有靜態成員變數或靜態方法,因為非靜態內部類不隨外部類一起載入,只有在實例化外部類之後才會載入。
熱點內容