在 Java 中,內部類是定義在另一個類內部的類,與之相對的是外部類。內部類可以分為四種類型:
1.成員內部類(Member Inner Class):定義在類內部,方法外部的類。
2.局部內部類(Local Inner Class):定義在方法內部或塊內部的類。
3.匿名內部類(Anonymous Inner Class):沒有類名的局部內部類。
4.靜態內部類(Static Inner Class):被聲明為 static 的內部類。
內部類和外部類的區別和用法如下:
1.內部類可以直接訪問外部類的成員變量和方法,即使是 private 的。而外部類不能訪問內部類的成員變量和方法。
2.內部類可以訪問外部類的私有成員變量和方法,這樣就增強了封裝性。
3.內部類可以實現多重繼承,一個內部類可以實現多個接口,而一個類只能繼承一個父類。
4.內部類可以被用來實現一些輔助類,這些類僅在外部類中使用,從而實現了隱藏實現的細節的目的。
5.內部類可以使代碼更加優雅,更加緊湊,更加易讀。
總之,內部類可以為實現某些特殊的需求提供一種簡單、方便的解決方案。