- 靜態(tài)內(nèi)部類:
- 靜態(tài)內(nèi)部類本身可以訪問(wèn)外部的靜態(tài)資源,包括靜態(tài)私有資源。但是不能訪問(wèn)非靜態(tài)資源,可以不依賴外部類實(shí)例而實(shí)例化。
- 成員內(nèi)部類:
- 成員內(nèi)部類本身可以訪問(wèn)外部的所有資源,但是自身不能定義靜態(tài)資源,因?yàn)槠鋵?shí)例化本身就還依賴著外部類。
- 局部?jī)?nèi)部類:
局部?jī)?nèi)部類就像一個(gè)局部方法,不能被訪問(wèn)修飾符修飾,也不能被static修飾。
局部?jī)?nèi)部類只能訪問(wèn)所在代碼塊或者方法中被定義為final的局部變量。
- 匿名內(nèi)部類:
沒(méi)有類名的內(nèi)部類,不能使用class,extends和implements,沒(méi)有構(gòu)造方法。
多用于GUI中的事件處理。
不能定義靜態(tài)資源
只能創(chuàng)建一個(gè)匿名內(nèi)部類實(shí)例。
一個(gè)匿名內(nèi)部類一定是在new后面的,這個(gè)匿名類必須繼承一個(gè)父類或者實(shí)現(xiàn)一個(gè)接口。
匿名內(nèi)部類是局部?jī)?nèi)部類的特殊形式,所以局部?jī)?nèi)部類的所有限制對(duì)匿名內(nèi)部類也有效。