什么是內(nèi)部類?
定義在其它類內(nèi)部中的類叫做內(nèi)部類。
內(nèi)部類成員可以直接訪問(wèn)外部類的私有數(shù)據(jù),因?yàn)閮?nèi)部類是外部類的成員。
編譯過(guò)后會(huì)生成兩個(gè)或者多個(gè)class文件(取決于內(nèi)部類的數(shù)量,中間用¥符號(hào)隔開(kāi))
內(nèi)部類分為?
(成員內(nèi)部類)非靜態(tài)內(nèi)部類,靜態(tài)內(nèi)部類:算是類成員
局部?jī)?nèi)部類,匿名內(nèi)部類。
非靜態(tài)內(nèi)部類:
1.在其內(nèi)部方法找一個(gè)變量,會(huì)先在該方法找,再去內(nèi)部類找,最后再去外部類找
2.不允許外部類的靜態(tài)成員調(diào)用非靜態(tài)內(nèi)部類,常識(shí)
3.非靜態(tài)內(nèi)部類中不能定義靜態(tài)成員
4.非靜態(tài)內(nèi)部類普通初始化塊的作用與外部類完全相同
靜態(tài)內(nèi)部類:
1.這個(gè)內(nèi)部類屬于外部類本身,不屬于外部類的對(duì)象
2.可以包含靜態(tài)成員和非靜態(tài)成員
3.外部類的上一級(jí)是包,所以不能用static修飾,內(nèi)部類的上一級(jí)是外部類,用static修飾成為外部類相關(guān)
局部?jī)?nèi)部類:
把一個(gè)內(nèi)部類放在方法內(nèi)定義,就是局部?jī)?nèi)部類。不能用訪問(wèn)控制符和static
修飾。
匿名內(nèi)部類:
只需要使用一次的類。