更新時間:2024-04-21 14:59:21 來源:動力節(jié)點 瀏覽1988次
Java中的內(nèi)部類和匿名內(nèi)部類是兩種特殊的類。
內(nèi)部類是定義在另一個類內(nèi)部的類,它可以訪問包含它的類的私有屬性和方法,它還可以繼承其他類和實現(xiàn)接口。內(nèi)部類的訪問修飾符可以是public、private、protected或默認,它可以被聲明為static或非static,可以訪問外部類的成員,也可以訪問同一外部類中的其他內(nèi)部類。內(nèi)部類通常用于實現(xiàn)某種接口或繼承某個類。
匿名內(nèi)部類是一種沒有名字的內(nèi)部類,它通常用于創(chuàng)建實現(xiàn)某個接口或繼承某個類的對象,這個對象只使用一次。匿名內(nèi)部類必須在定義時就創(chuàng)建對象,不能延遲到稍后再創(chuàng)建。它的語法格式為在實例化一個接口或抽象類的對象時,通過“new 接口名/抽象類名()”來定義匿名內(nèi)部類。
舉例來說,以下是一個內(nèi)部類和一個匿名內(nèi)部類的示例代碼:
在上面的例子中,InnerClass是一個內(nèi)部類,它可以訪問外部類的私有屬性x;testInnerClass()方法中創(chuàng)建了一個內(nèi)部類對象,并調(diào)用了printX()方法。testAnonymousInnerClass()方法中創(chuàng)建了一個匿名內(nèi)部類對象,它實現(xiàn)了Runnable接口的run()方法,并在新線程中打印一條消息。
相關(guān)閱讀