Java內(nèi)部類是定義在另一個類中的類。它可以訪問外部類的所有成員,包括私有成員。內(nèi)部類可以分為四種類型:成員內(nèi)部類、局部內(nèi)部類、匿名內(nèi)部類和靜態(tài)內(nèi)部類。
成員內(nèi)部類:定義在外部類的成員位置,與成員變量、成員方法同級別。它可以訪問外部類的所有成員,包括私有成員。
局部內(nèi)部類:定義在外部類的某個方法或代碼塊中,只能訪問該方法或代碼塊中的final變量(實際上是可以訪問所有final變量,包括隱式final變量)。
匿名內(nèi)部類:沒有名字的內(nèi)部類,通常用于創(chuàng)建一次性使用的對象,如事件監(jiān)聽器。
靜態(tài)內(nèi)部類:使用static關(guān)鍵字定義的內(nèi)部類,它只能訪問外部類的靜態(tài)成員,不能訪問外部類的非靜態(tài)成員。
內(nèi)部類的使用可以使代碼更加模塊化,提高代碼的可讀性和可維護性。