java內部類及四種內部類的實現方式
一、內部類定義:
內部類分為: 成員內部類、靜態嵌套類、方法內部類、匿名內部類。
二、為何要內部類?
a、內部類提供了某種進入外圍類的窗戶。
b、也是最吸引人的原因,每個內部類都能獨立地繼承一個接口,而無論外圍類是否已經繼承了某個接口。
因此,內部類使多重繼承的解決方案變得更加完整。
在項目中,需要多重繼承,如果是兩個接口,那么好辦,接口支持多重繼承。
如果是兩個類呢?這時只有使用內部類了。
三、四種內部類:
1)靜態內部類:
必須以static關鍵字標注
只能訪問外部類中的靜態的成員變量或者是靜態的方法
訪問一個內部類使應該這樣outerClass.innerClass inter = new outerClass.innerClass();不能直接實例化內部類
2)成員內部類:
定義在一個類的內部,但是沒有static關鍵字修飾
生成示例的方法outerClass.innerClass inter = (new outerClass()).new innerClass()
對外部類變量的引用outClass.this.variale
可以訪問外部類的靜態與非靜態方法
3)局部內部類:
局部內部類指的是定義在一個方法中的類
只有在當前方法中才能對局部內部類里面的方法以及變量進行訪問
局部內部類只能訪問其所在方法的final類型變量
4)匿名內部類:
隱式的繼承一個父類或者是實現某個接口
