IDEA 特別重點 匿名內部類的定義 注意事項

2021-10-19 14:11:48 字數 1148 閱讀 6956

匿名內部類的定義:

如果介面的實現類(或者是父類的子類)只需要使用唯一的一次,

那麼這種情況下就可以省略掉該類的定義,而改為使用【匿名內部類】

匿名內部類的定義格式:

介面名稱 物件名 = new 介面名稱() ;

一般使用介面必須定義乙個新的介面實現類impl。而使用匿名內部類可以省略這一步,直接new介面 在()後新增大括號,在大括號裡面就是乙個類,在裡面進行覆蓋重寫

public

class

demomain};

obj.

method()

;}}

對格式進行解析「new」 介面名稱() 進行解析:

1.new代表建立物件的動作

2.介面名稱就是匿名內部類需要實現那個介面

3.這才是匿名內部類的內容

另外還要注意幾點問題:

1.匿名內部類,在【建立物件】的時候,只能使用唯一一次。

如果希望多次建立物件,而且類的內容一樣的話,那麼必須使用單獨定義的實現類了。

2.匿名物件,在【呼叫方法】的時候,只能呼叫唯一一次。

如果希望同乙個物件呼叫多次方法,那麼必須給物件起個名字。

3.匿名內部類是省略【實現類/子類名稱】,但是匿名物件是省略了【物件名稱】

強調:匿名內部類和匿名物件不是一回事!!

public

class

demomain

public

void

method2()

};obja.

method1()

; obja.

method2()

;//使用了匿名內部類,而且省略了物件名稱,也是匿名物件

newmyinte***ce()

public

void

method2()

}.method1()

;new

myinte***ce()

public

void

method2()

}.method1()

;//因為匿名物件無法呼叫第二次方法,所以需要再建立乙個匿名內部類的物件

}}

內部類 內部類的訪問 匿名內部類

內部類 將乙個類定義在另乙個類的裡面,對立面那個類就成為內部類 內建類,巢狀類 定義 當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事務在使用外部事物的內容。舉例子心臟 內部類的訪問規則 1內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類的成員 因為內部類中持有...

內部類 匿名內部類的使用

內部類的使用 classouter classinner public voidget a a public voidtest this.get newa public voidfun1 system.out println i public classtest public static void...

內部類的介紹 匿名內部類

顧名思義 沒有名字的內部類,其實就是沒有類名的區域性內部類 一切特徵都與區域性內部類相同 這句話請記住 必須繼承乙個父類或者實現乙個介面 心得 為什麼介面不能直接new,直接例項化 其實我覺得是可以的,但是不建議樣做,為什麼呢,我們平常都是new介面的實現類,或者叫做子類把,因為介面的方法,在子類中...