時間:2018-07-22 00:00:00 來源:信盈達 作者:信盈達
說起Java的內部類這個詞,想必很多人都不陌生,但是又會覺得不熟悉。原因是平時編寫代碼時可能用到的場景不多,用得最多的是在有事件監聽的情況下,并且即使用到也很少去總結內部類的用法。今天我們就來一探究竟。
內部類,嵌套在另一個類的里面,所以也稱為 嵌套類
內部類可以分為4種內別:
1. 成員內部類
成員內部類是最普通的內部類,它的定義為位于另一個類的內部,形如下面的形式:

成員內部類可以無條件訪問外部類的所有成員屬性和成員方法. 不過要注意的是,當成員內部類擁有和外部類同名的成員變量或者方法時,會發生隱藏現象,即默認情況下訪問的是成員內部類的成員。如果要訪問外部類的同名成員,需要以下面的形式進行訪問:

2. 匿名內部類
一個沒有被定名字內部類叫做匿名內部類,應該是平時我們編寫代碼時用得最多的,在創建這個匿名內部類后,便會立即用來創建并返回此內部類的一個對象引用。在編寫事件監聽的代碼時使用匿名內部類不但方便,而且使代碼更加容易維護。
經典使用方式:
1)線程使用

3. 靜態內部類
靜態內部類也是定義在另一個類里面的類,只不過在類的前面多了一個關鍵字static。因為是static,靜態內部類是不需要依賴于外部類的,這點和類的靜態成員屬性有點類似,并且它不能使用外部類的非static成員變量或者方法,這點很好理解,因為在沒有外部類的對象的情況下,可以創建靜態內部類的對象.
經典使用方式:
1) 單例模式

2) 接收json參數

4. 局部內部類
局部內部類是定義在一個方法或者一個作用域里面的類,它和成員內部類的區別在于局部內部類的訪問僅限于方法內或者該作用域內。

一般成員內部類我們使用的最少,靜態內部類和匿名內部類一般我們使用的很多.

信盈達2008年在深圳特區南山高新科技園成立。自成立至今近九年來專注為企業和個人提供高端方案設計、高端嵌入式/Android培訓等服務。公司下設信盈達實訓學院、信盈達研發中心、信盈達教學儀器三大業務板塊。九年來公司堅持"技術領先、服務領先",以雄厚的實力和專業的品質成為國內唯一有實力從產品最底層研發到系統層開發的嵌入式實訓、產品解決方案提供商。為中國IT行業提供最具價值的職業教育服務。專業培訓i嵌入式、物聯網、人工智能、Java、單片機等課程,想了解更多信息點擊立馬咨詢
免費領取試聽卡
申請已經提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!