Java 教程
Java 中可以實(shí)現(xiàn)一個(gè)類中包含另外一個(gè)類,且不需要提供任何的類名直接實(shí)例化。
主要是用于在我們需要的時(shí)候創(chuàng)建一個(gè)對象來執(zhí)行特定的任務(wù),可以使代碼更加簡潔。
匿名類是不能有名字的類,它們不能被引用,只能在創(chuàng)建時(shí)用 new 語句來聲明它們。
匿名類語法格式:
class outerClass { // 定義一個(gè)匿名類 object1 = new Type(parameterList) { // 匿名類代碼 }; }
以上的代碼創(chuàng)建了一個(gè)匿名類對象 object1,匿名類是表達(dá)式形式定義的,所以末尾以分號 ; 來結(jié)束。
匿名類通常繼承一個(gè)父類或?qū)崿F(xiàn)一個(gè)接口。
以下實(shí)例中,創(chuàng)建了 Polygon 類,該類只有一個(gè)方法 display(),AnonymousDemo 類繼承了 Polygon 類并重寫了 Polygon 類的 display() 方法<:/p>
執(zhí)行以上代碼,匿名類的對象 p1 會被創(chuàng)建,該對象會調(diào)用匿名類的 display() 方法,輸出結(jié)果為:
在匿名類內(nèi)部。
以下實(shí)例創(chuàng)建的匿名類實(shí)現(xiàn)了 Polygon 接口:
輸出結(jié)果為:
在匿名類內(nèi)部。其他擴(kuò)展