在 Java 中,內(nèi)部類(lèi)是一個(gè)定義在另一個(gè)類(lèi)中的類(lèi)。如果內(nèi)部類(lèi)沒(méi)有名字,則被稱(chēng)為匿名內(nèi)部類(lèi)。匿名內(nèi)部類(lèi)通常用于創(chuàng)建一個(gè)臨時(shí)性的類(lèi),用于實(shí)現(xiàn)某個(gè)接口或繼承某個(gè)類(lèi),以簡(jiǎn)化代碼的編寫(xiě)。
下面是一個(gè)創(chuàng)建匿名內(nèi)部類(lèi)的示例:
在上面的代碼中,我們創(chuàng)建了一個(gè)實(shí)現(xiàn) Runnable 接口的匿名內(nèi)部類(lèi),并將其賦值給一個(gè) Runnable 類(lèi)型的變量 'runnable。
注意,匿名內(nèi)部類(lèi)必須要繼承一個(gè)類(lèi)或?qū)崿F(xiàn)一個(gè)接口。在上面的例子中,我們使用了一個(gè)匿名內(nèi)部類(lèi)來(lái)實(shí)現(xiàn)了 Runnable 接口的 run() 方法。匿名內(nèi)部類(lèi)可以訪(fǎng)問(wèn)其所在的外部類(lèi)的成員變量和方法,同時(shí)也可以定義自己的成員變量和方法。