在外部類的方法中為什么我可以直接創(chuàng)建內(nèi)部對(duì)象??
為什么public?void?outer_2(){}這個(gè)方法里我直接就創(chuàng)建了一個(gè)內(nèi)部類的對(duì)象???Inner?inner=new?Inner();不是說(shuō)內(nèi)部類的對(duì)象要先通過(guò)先創(chuàng)建外部類對(duì)象然后通過(guò)外部類對(duì)象.new?Inner()的形式創(chuàng)建嗎??
為什么public?void?outer_2(){}這個(gè)方法里我直接就創(chuàng)建了一個(gè)內(nèi)部類的對(duì)象???Inner?inner=new?Inner();不是說(shuō)內(nèi)部類的對(duì)象要先通過(guò)先創(chuàng)建外部類對(duì)象然后通過(guò)外部類對(duì)象.new?Inner()的形式創(chuàng)建嗎??
2016-11-20
舉報(bào)
2016-11-20
這個(gè)你首先要清楚內(nèi)部類與外部類的關(guān)系,
必須先有外部類的對(duì)象才能生成內(nèi)部類的對(duì)象,因?yàn)閮?nèi)部類的作用就是為了訪問(wèn)外部類中的成員變量
在其他地方需先創(chuàng)建外部類對(duì)象的原因是:通過(guò)外部類對(duì)象傳遞一個(gè)外部類的引用給將要?jiǎng)?chuàng)建的內(nèi)部類,然后通過(guò)外部類對(duì)象.new?Inner()的形式創(chuàng)建,但是在包含本內(nèi)部類的外部類的方法中,引用本就包含在類中,因此可以直接創(chuàng)建內(nèi)部類對(duì)象,其實(shí)new?Inner()在外部類的方法中相當(dāng)于this.new?Inner()
2016-11-20
簡(jiǎn)單舉個(gè)例,不拿內(nèi)部類來(lái)說(shuō),對(duì)于方法調(diào)用
的作用是一樣的,從某種意義上來(lái)說(shuō),this等價(jià)于本類的對(duì)象。
(本人新手,有不對(duì)的的地方歡迎指正)
2016-11-20
我覺得是外部類和內(nèi)部類不同名 ?不過(guò)應(yīng)該不是這個(gè)