內部類Java的介紹

靜態內部類-普通類的區別
1:創建對象語法是new外部類.內部類();
2: 內部類可以間接的訪問到外部類的靜態的私有特性
3:外部類也可以間接的訪問到內部類的靜態私有特性(外部類訪問內部類私有對象特徵需要創建內部類對象)

靜態內部類-普通類的區別
1:不能擁有靜態代碼塊,靜態方法,靜態字段變量,靜態內部類,
2:先創建外部類對象,再由外部類對象創建內部類對象new外部類().new內部類();
3:內部類對象間接共享外部類對象特性
4:外部類如果存在子類的情況下,其子類特性對內部類隱藏
(可以理解爲向上轉型,存在方法複寫時會調用到底層的子類方法)
5.當外內部類變量重名,內部類訪問外部變量時:外部類名.this.外部類變量名
6.外部類的子類不可繼承內部類,但可實現內部接口(默認是static修飾的)

方法區內部類
寫在類方法中的類,舉例:
IFace只是個接口
在這裏插入圖片描述
匿名內部類
例子:
在這裏插入圖片描述
匿名內部類看不見自己本身內部的方法,只能看見實現接口的方法
在這裏插入圖片描述
注意:
內部類有時訪問外部類中方法中的變量時,其變量必須時final修飾的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章