內部類顧名思義就是定義在乙個類的內部
內部類又有普通內部類、方法和域內的內部類、匿名內部類、巢狀內部類
普通內部類的基礎用法
1class
myclass6}
7class
innerclass211}
12void
getinnerclass()
16public
static
void
main(string args)
19 }
//輸出:
innerclass1 created..
innerclass2 created..
上圖就是乙個普通內部類的例子,同時內部類自動擁有對其外圍類所有成員的訪問權。
main方法中獲得內部類的例項需要借助其他方法,因為main方法是static的。
如果想要直接生成對外部類物件和內部類物件的引用,就需要借助.this和.new關鍵字。
.this關鍵字
1class
myclass
6myclass getmyclass() 10}
1112
innerclass getinner()
15public
static
void
main(string args)
20 }
上例**第8行,內部類通過.this關鍵字返回了乙個myclass物件。
.new關鍵字
上述普通內部類的第乙個例子,我們得到乙個內部類的物件是通過乙個void方法。如果想要在main方法中直接獲得例項可用
myclass.innerclass mic=new myclass().new innerclass();
內部類向上轉型
內部類向上轉型為乙個介面時,內部類可以很好的隱藏起來。
1inte***ce
myinte***ce
4class
myclass9}
10public
myinte***ce getinn()
13public
static
void
main(string args)
17 }
posted @
2017-11-23 15:29
朝陽的自留地 閱讀(
...)
編輯收藏
Java內部類 Java例項內部類
例項內部類是指沒有用 static 修飾的內部類。示例 如下 public class outer 上述示例中的 inner 類就是例項內部類。例項內部類有如下特點。1 在外部類的靜態方法和外部類以外的其他類中,必須通過外部類的例項建立內部類的例項。public class outer inner1...
Java內部類 靜態內部類
靜態內部類是外部類的靜態成員,不依賴於外部類的物件而存在,因此在外部類外面建立靜內部類物件時不需要首先建立外部類的物件 靜態內部類也可以稱為靜態巢狀類或頂級巢狀類。靜態內部類與外部類物件之間不存在著對成員的共享關係,靜態內部類其實已經脫離了外部類的控制 static關鍵字只是說明其在建立物件的時候不...
JAVA中的內部類 方法內部類
方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。下邊的例子 外部類 public class helloworld 建立方法內部類的物件 min...