內(nèi)部類不可以是final類 內(nèi)部類和匿名內(nèi)部類是什么?有什么作用?
內(nèi)部類和匿名內(nèi)部類是什么?有什么作用? 一、內(nèi)部類: 內(nèi)部類是定義在另一個(gè)類中的類,使用它的原因主要有3個(gè): 內(nèi)部類方法可以訪問該類定義所在的作用域中的數(shù)據(jù),包括私有的數(shù)據(jù) 內(nèi)部類可以對(duì)同一個(gè)
內(nèi)部類和匿名內(nèi)部類是什么?有什么作用?
一、內(nèi)部類: 內(nèi)部類是定義在另一個(gè)類中的類,使用它的原因主要有3個(gè): 內(nèi)部類方法可以訪問該類定義所在的作用域中的數(shù)據(jù),包括私有的數(shù)據(jù) 內(nèi)部類可以對(duì)同一個(gè)包中的其他類隱藏以來 當(dāng)想要定義一個(gè)回調(diào)函數(shù)且不想編寫大量代碼時(shí),使用匿名內(nèi)部類比較便捷?! ?/p>
二、局部?jī)?nèi)部類: 討論匿名內(nèi)部類之前,先看看局部?jī)?nèi)部類,它是在一個(gè)方法中定義的類。 局部?jī)?nèi)部類不能用public或private訪問說明符來聲明,它的作用域被限定在聲明這個(gè)局部?jī)?nèi)部類的塊中。局部?jī)?nèi)部類可以對(duì)外部世界完全地隱藏起來?! 【植?jī)?nèi)部類不僅能訪問其外圍類,還可以訪問局部變量,不過這些局部變量必須被聲明為final,如上述代碼中start()方法的參數(shù)beep所示。
三、匿名內(nèi)部類 將上面的局部?jī)?nèi)部類的代碼修改一下,就可以定義一個(gè)匿名內(nèi)部類,這種類沒有類名。匿名內(nèi)部類除了具有內(nèi)部類的優(yōu)點(diǎn)外,還可以減少代碼量。