成員的特點(diǎn):
1.成員變量
編譯時(shí):參考引用型變量所屬的類中是否有調(diào)用的成員變量徽曲,有呜舒,則編譯通過(guò)避归。
運(yùn)行時(shí):參考引用型變量所屬的類中是否有改成員變量荣月。并運(yùn)行該成員變量。
簡(jiǎn)單書(shū)說(shuō):編譯和運(yùn)行都參考左邊梳毙。
2.成員函數(shù)
編譯時(shí):參考引用型變量所屬的類中是否有調(diào)用的函數(shù)哺窄,有則編譯通過(guò)。相當(dāng)于向上轉(zhuǎn)型時(shí)無(wú)法使用子類中特有的方法账锹。
運(yùn)行時(shí):優(yōu)先子類萌业,子類沒(méi)有找父類
簡(jiǎn)單說(shuō):編譯看左邊,運(yùn)行看右邊
3.靜態(tài)方法
因?yàn)殪o態(tài)的不涉及對(duì)象奸柬,所有靜態(tài)的沒(méi)有多態(tài)性生年。
簡(jiǎn)單說(shuō):編譯和運(yùn)行看左邊
內(nèi)部類
定義在類中的類,也叫嵌套類廓奕。
1.內(nèi)部類可以直接訪問(wèn)外部類的成員
2.外部類要訪問(wèn)內(nèi)部類抱婉,必須要建立內(nèi)部類的對(duì)象。outer.inner in =new outer().new? inner();
一般用于類的設(shè)計(jì)桌粉。
3.如果內(nèi)部類是靜態(tài)的蒸绩,則相當(dāng)于外部類。outer.inner in = new outer.inner();
4.如果內(nèi)部類是靜態(tài)的铃肯,成員是靜態(tài)的患亿。直接---->>>outer.inner.function();
如果成員是靜態(tài)的,則內(nèi)部類必須是靜態(tài)的
5.num-------this.num-------outer.this.num
6.內(nèi)部類可以存放在局部位置上押逼,即可以在方法中定義類步藕,即局部位置類
匿名內(nèi)部類
匿名內(nèi)部類就是內(nèi)部類的簡(jiǎn)寫(xiě)格式
????? 必須有前提:內(nèi)部類必須繼承或?qū)崿F(xiàn)一個(gè)外部類或者接口
其實(shí)就是一個(gè)匿名子類對(duì)象
格式 new? 父類(){子類內(nèi)容}