Java的內部類是指一個類被定義在另一個類的內部。根據定義的位置和訪問權限的不同,內部類可以分為四種:成員內部類、靜態內部類、方法內部類和匿名內部類。
內部類的訪問權限
- 成員內部類和靜態內部類可以使用任意訪問權限修飾符,包括public、protected、默認和private。
- 方法內部類只能使用默認訪問權限,即不加任何訪問修飾符。
使用public修飾的內部類
內部類使用public修飾時,可以被外部類以及其他外部類所訪問。它具有最高的訪問權限,可以被其他包中的類所訪問。
使用public修飾的內部類示例:
public class OuterClass {
public class InnerClass {
// InnerClass的內部代碼
}
}
在其他類中訪問public修飾的內部類:
public class OtherClass {
public static void main(String[] args) {
OuterClass.InnerClass innerClass = new OuterClass().new InnerClass();
// 使用innerClass進行操作
}
}
在上述示例中,InnerClass被public修飾,可以在OtherClass中被訪問。使用new關鍵字創建OuterClass的實例,然后通過實例調用new InnerClass()創建InnerClass的實例。通過訪問內部類的實例,可以使用其定義的方法和訪問其屬性。
當然,在實際開發中,一般并不會使用public修飾內部類。因為內部類的主要作用是為了實現某些特定的功能或者限制其在外部的使用。而通過使用public修飾內部類,則會導致內部類的實例對象可以在外部類外被訪問,違背了內部類的設計初衷。
另外,需要注意的是在其他包中訪問public修飾的內部類時,由于內部類不能獨立存在,所以需要通過外部類的實例來創建內部類的實例。
綜上所述,Java內部類可以使用public修飾,但是在實際開發中一般不建議這么做,因為這樣會破壞內部類的封裝性。
-
JAVA
+關注
關注
20文章
2987瀏覽量
107219 -
代碼
+關注
關注
30文章
4891瀏覽量
70335
發布評論請先 登錄
java rules下載/java規范中文版
用原生servlet實現的接口大家看下控制臺輸出結果是什么
接口、內部類和Java API基礎
java內部類分析詳解
java內部類怎么寫

java可以用作那些領域?
Java內部類持有外部類導致內存泄露的原因以及其解決方案
Java四種訪問修飾符及訪問范圍
static定義內部類
如何在普通類中使用內部結構
如何用Java代碼調用

評論