溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android知識補充:內(nèi)部類

發(fā)布時間:2020-06-17 10:27:31 來源:網(wǎng)絡(luò) 閱讀:345 作者:357335259 欄目:移動開發(fā)

內(nèi)部類:將一個類定義在一個類里面或是一個方法里面。

  1. 內(nèi)部類分類:

    1. 成員內(nèi)部類:作為類或方法的一個成員存在。

    2. 局部內(nèi)部類:方法體里面的類,稱為局部內(nèi)部類。

    3. 匿名內(nèi)部類:沒有構(gòu)造器的類。

    4. 靜態(tài)內(nèi)部類:

  2. 成員內(nèi)部類:

    成員內(nèi)部類可以無條件訪問外部類的所有成員屬性和成員方法(包括private成員和靜態(tài)成員)

    Android知識補充:內(nè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)部類對象的一般方式如下:

    Android知識補充:內(nèi)部類

  3. 局部內(nèi)部類


局部內(nèi)部類是定義在一個方法或者一個作用域里面的類,它和成員內(nèi)部類的區(qū)別在于局部內(nèi)部類的訪問僅限于方法內(nèi)或者該作用域內(nèi)

注意: 局部內(nèi)部類就像是方法里面的一個局部變量一樣,是不能有public、protected、private以及static修飾符的。

Android知識補充:內(nèi)部類

匿名內(nèi)部類是Android開發(fā)中用得最多的內(nèi)部類,在編寫事件監(jiān)聽的代碼時使用匿名內(nèi)部類不但方便,而且使代碼更加容易維護。下面這段代碼是一段Android事件監(jiān)聽代碼:

Android知識補充:內(nèi)部類

匿名內(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。


向AI問一下細(xì)節(jié)

免責(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)容。

AI