內(nèi)部類(lèi)的訪(fǎng)問(wèn)規(guī)則:
1电抚,內(nèi)部類(lèi)可以直接訪(fǎng)問(wèn)外部類(lèi)中的成員,包括私有竖共。
之所以可以直接訪(fǎng)問(wèn)外部類(lèi)中的成員蝙叛,是因?yàn)閮?nèi)部類(lèi)中持有了一個(gè)外部類(lèi)的引用,格式:外部類(lèi)名.this
2公给,外部類(lèi)要訪(fǎng)問(wèn)內(nèi)部類(lèi)甥温,必須建立內(nèi)部類(lèi)對(duì)象。
訪(fǎng)問(wèn)格式:
1, 當(dāng)內(nèi)部類(lèi)定義在外部類(lèi)的成員的成員位置上妓布,而且非私有姻蚓,可以在外部其他類(lèi)中。
可以直接建立內(nèi)部類(lèi)對(duì)象匣沼。
格式
外部類(lèi)名.內(nèi)部類(lèi)名 變量名 = 外部類(lèi)對(duì)象.內(nèi)部類(lèi)對(duì)象;
Outer.Inner in = new Outer().new Inner();
2, 當(dāng)內(nèi)部類(lèi)在成員位置上狰挡,就可以別成員修飾符所修飾。
比如,private:將內(nèi)部類(lèi)在外部類(lèi)中進(jìn)行封裝加叁。
static:內(nèi)部類(lèi)就具備static的特性倦沧。
當(dāng)內(nèi)部類(lèi)被static修飾后,只能直接訪(fǎng)問(wèn)外部類(lèi)中的static成員它匕。出現(xiàn)了訪(fǎng)問(wèn)局限展融。
在外部其他類(lèi)中,如何直接訪(fǎng)問(wèn)static內(nèi)部類(lèi)的非靜態(tài)成員呢豫柬?
new Outer.Inner().function();
在外部其他類(lèi)中告希,如何直接訪(fǎng)問(wèn)static內(nèi)部類(lèi)的靜態(tài)成員呢?
Outer.Inner.function();
******:當(dāng)內(nèi)部類(lèi)中定義了靜態(tài)成員烧给,該內(nèi)部類(lèi)必須是static的燕偶。
當(dāng)外部類(lèi)中的靜態(tài)方法訪(fǎng)問(wèn)內(nèi)部類(lèi)時(shí),內(nèi)部類(lèi)也必須是static的础嫡。
當(dāng)描述事物時(shí)指么,事物的內(nèi)部還有事物,該事物用內(nèi)部類(lèi)來(lái)描述榴鼎。
因?yàn)閮?nèi)部事務(wù)在使用外部事物的內(nèi)容伯诬。
局部?jī)?nèi)部類(lèi)不能定義靜態(tài)成員
內(nèi)部類(lèi)定義在局部時(shí)
1,不可以被成員修飾符修飾
2巫财,可以直接訪(fǎng)問(wèn)外部類(lèi)中的成員姑廉,因?yàn)檫€持有外部類(lèi)中的引用。
但是不可以訪(fǎng)問(wèn)它所在的局部中的變量翁涤,只能訪(fǎng)問(wèn)被final修飾的局部變量桥言。