1. 程式人生 > 實用技巧 >相鄰的數字用-串1起來,其他的單獨拎出來

相鄰的數字用-串1起來,其他的單獨拎出來

內部類

類中類

  • 成員內部類
    • [ ] 普通內部類
    • [ ] 靜態內部類
  • 區域性內部類

成員內部類

普通內部類

1.訪問修飾許可權4種

2.不能定義靜態變數和方法

​ 成員內部類類載入:依賴外圍類,外圍類物件不一定存在。

​ 可以定義 final 修飾的常量,不通過類載入,編譯時期就加入了常量池。

靜態內部類

成員特點

int aIN;
private int bIn = 10;
static int cIn =20;
//普通方法也可以,構造方法,未寫跟普通類無區分
//這叫做巢狀類,無static修飾是成員內部類,叫做內部類。
//借外部類隱藏自己,完全自己做一個獨立類。

類載入機制

建立外圍類,不會觸發靜態內部類載入

靜態內部類建立物件不依賴外圍類,不用管外圍類物件是否存在。

但是建立的時候還是先載入外圍類,再載入靜態內部類。

繼承

只能繼承靜態類

它訪問外圍類方式,由於是獨立的,所以物件該建立還是要建立,由於先載入,所以能直接訪問靜態成員(類名訪問也行),特別的,它和獨立類的區別是,不受訪問許可權控制

同樣的,外圍類靜態方法 訪問靜態內部類也不受訪問許可權控制,而且與外圍類無關,不用先建立外圍類物件,這是一個和普通內部類的區別。

區域性內部類

定義在方法或者一個作用域裡面的類。

由於作用域在方法體內,所以沒有許可權修飾符。

不可以建立靜態的成員

也是內部類,訪問外圍類不受許可權控制

匿名內部類

區域性位置

語法

new 類名或者介面名(){}
//類名則代表擴充套件了這個類
//介面名代表實現了這個類