內部類的使用1 隱藏實現

2021-05-23 17:33:24 字數 653 閱讀 6503

內部類的宣告和呼叫語法

開發不依賴型別的**,隱藏細節

有了內部類,就能夠更好的實現封裝**的細節部分,比如有乙個公用的介面,而使用私有內部類來實現這個介面,再通過外部類的方法返回介面的乙個例項。

這樣就使的,客戶程式設計師只能使用引用來進行開發,阻礙了任何依賴於型別的**,並完全隱藏了實現的細節。

例如:

方法或者作用域中的內部類

上面的**除了把內部類宣告在成員變數的位置外,還能直接宣告在方法的內部,例如:

匿名內部類

像上面這種宣告在方法內部的類,類名是沒有作用的,因此有了宣告匿名內部類的方法:

把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 在外部類以外的...