內部類是一種非常有用的機制,它允許你把一些邏輯相關的類組織在一起,并控制位于內部類的可視性(進入修飾符和其它普通類元素沒有區別)。同時內部類能夠與外部類通信。利用內部類的特性可以使得寫出的代碼優雅而清雅。1)內部類可以在內部進行使用,更典型的情況是在外部類設置一個方法返回一個指向內部類的引用2)如果想從外部類的非靜態方法之外的任意位置創建某個內部類的對象(這個內部類必須是public),必須具體指明這個對象的類型:OuterClassName.InnerClassName;在new表達式中提供對其它外部類對象的引用,需要使用.new語法。
這個例子也告訴我們,必須使用外部類的對象來創建內部類對象,不能直接創建內部類對象,因為它們之前必須建立一個聯系(當然除了嵌套類--靜態內部類)3)內部類和制造它的外圍對象之間有一種聯系(對象創建一個內部類對象時,內部類對象會捕獲一個指向那個外圍類對象的引用),這種聯系使得它能訪問外圍對象的所有成員,而不要任何特殊條件。此外,內部類還擁有其外圍類的所有元素的訪問權。(是不是可以把內部類看成外部類的一個元素,一個“特殊”的“類元素”)如果需要生成對外部類對象的引用,可以使用外部類的名字后面緊跟圓點和this“.this”:
Powered by: BlogJava Copyright © Eric-1001c