相鄰的數字用-串1起來,其他的單獨拎出來
阿新 • • 發佈:2021-01-12
內部類
類中類
- 成員內部類
- [ ] 普通內部類
- [ ] 靜態內部類
- 區域性內部類
成員內部類
普通內部類
1.訪問修飾許可權4種
2.不能定義靜態變數和方法
成員內部類類載入:依賴外圍類,外圍類物件不一定存在。
可以定義 final 修飾的常量,不通過類載入,編譯時期就加入了常量池。
靜態內部類
成員特點
int aIN;
private int bIn = 10;
static int cIn =20;
//普通方法也可以,構造方法,未寫跟普通類無區分
//這叫做巢狀類,無static修飾是成員內部類,叫做內部類。
//借外部類隱藏自己,完全自己做一個獨立類。
類載入機制
建立外圍類,不會觸發靜態內部類載入
靜態內部類建立物件不依賴外圍類,不用管外圍類物件是否存在。
但是建立的時候還是先載入外圍類,再載入靜態內部類。
繼承
只能繼承靜態類
它訪問外圍類方式,由於是獨立的,所以物件該建立還是要建立,由於先載入,所以能直接訪問靜態成員(類名訪問也行),特別的,它和獨立類的區別是,不受訪問許可權控制
同樣的,外圍類靜態方法 訪問靜態內部類也不受訪問許可權控制,而且與外圍類無關,不用先建立外圍類物件,這是一個和普通內部類的區別。
區域性內部類
定義在方法或者一個作用域裡面的類。
由於作用域在方法體內,所以沒有許可權修飾符。
不可以建立靜態的成員
也是內部類,訪問外圍類不受許可權控制
匿名內部類
區域性位置
語法
new 類名或者介面名(){}
//類名則代表擴充套件了這個類
//介面名代表實現了這個類