您好,登錄后才能下訂單哦!
內(nèi)部類:將一個類定義在一個類里面或是一個方法里面。
內(nèi)部類分類:
成員內(nèi)部類:作為類或方法的一個成員存在。
局部內(nèi)部類:方法體里面的類,稱為局部內(nèi)部類。
匿名內(nèi)部類:沒有構(gòu)造器的類。
靜態(tài)內(nèi)部類:
成員內(nèi)部類:
成員內(nèi)部類可以無條件訪問外部類的所有成員屬性和成員方法(包括private成員和靜態(tài)成員)
注意:
當(dāng)成員內(nèi)部類擁有和外部類同名的成員變量或者方法時,會發(fā)生隱藏現(xiàn)象,即默認(rèn)情況下訪問的是成員內(nèi)部類的成員。如果要訪問外部類的同名成員,需要以 外部類.this.成員變量/成員方法 的形式訪問
在外部類中如果要訪問成員內(nèi)部類的成員,必須先創(chuàng)建一個成員內(nèi)部類的對象,再通過指向這個對象的引用來訪問:
要創(chuàng)建成員內(nèi)部類的對象,前提是必須存在一個外部類的對象。創(chuàng)建成員內(nèi)部類對象的一般方式如下:
局部內(nèi)部類
局部內(nèi)部類是定義在一個方法或者一個作用域里面的類,它和成員內(nèi)部類的區(qū)別在于局部內(nèi)部類的訪問僅限于方法內(nèi)或者該作用域內(nèi)
注意: 局部內(nèi)部類就像是方法里面的一個局部變量一樣,是不能有public、protected、private以及static修飾符的。
匿名內(nèi)部類是Android開發(fā)中用得最多的內(nèi)部類,在編寫事件監(jiān)聽的代碼時使用匿名內(nèi)部類不但方便,而且使代碼更加容易維護。下面這段代碼是一段Android事件監(jiān)聽代碼:匿名內(nèi)部類是不能有訪問修飾符和static修飾符的
匿名內(nèi)部類是唯一一種沒有構(gòu)造器的類
匿名內(nèi)部類在編譯的時候由系統(tǒng)自動起名Outter$1.class
一般來說,匿名內(nèi)部類用于繼承其他類或是實現(xiàn)接口,并不需要增加額外的方法,只是對繼承方法的實現(xiàn)或是重寫。
靜態(tài)內(nèi)部類也是定義在另一個類里面的類,只不過在類的前面多了一個關(guān)鍵字static。免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。