內部類的宣告和呼叫語法。
開發不依賴型別的**,隱藏細節
有了內部類,就能夠更好的實現封裝**的細節部分,比如有乙個公用的介面,而使用私有內部類來實現這個介面,再通過外部類的方法返回介面的乙個例項。
這樣就使的,客戶程式設計師只能使用引用來進行開發,阻礙了任何依賴於型別的**,並完全隱藏了實現的細節。
例如:
方法或者作用域中的內部類
上面的**除了把內部類宣告在成員變數的位置外,還能直接宣告在方法的內部,例如:
匿名內部類
像上面這種宣告在方法內部的類,類名是沒有作用的,因此有了宣告匿名內部類的方法:
把return 和new 構造器解除安裝了一起,表示得到乙個繼承了driver的例項。
這種用法最常見的就是在swing圖形見面開發的時候來定義事件***。
如果匿名內部類繼承的類是有構造器引數的話,需要用return new driver(param)來進行宣告。
內部類使用外部類的變數
如果方法內的內部類(包括匿名內部類),需要直接使用其外面的變數(不包括構造器使用)則需要保證外部的變數為final型別的,否則會有編譯錯誤。
內部類 匿名內部類的使用
內部類的使用 classouter classinner public voidget a a public voidtest this.get newa public voidfun1 system.out println i public classtest public static void...
內部類使用
內部類可以擁有 private 訪問許可權 protected 訪問許可權 public 訪問許可權及包訪問許可權。比如上面的例子,如果成員內部類 inner 用 private 修飾,則只能在外部類的內部訪問,如果用 public 修飾,則任何地方都能訪問 如果用 protected 修飾,則只能...
使用內部類
如果希望在外部類以外的地方使用內部類 包括靜態和非靜態 則內部類不能使用private訪問控制許可權 private修飾的內部類只能在外部類中使用 其他的內部類訪問控制符 在外部類以外的地方定義靜態內部類 public class outclass class testinclass 在外部類以外的...