Java創(chuàng)建內(nèi)部類(lèi)對(duì)象實(shí)例詳解
要想使用new生成一個(gè)內(nèi)部類(lèi)的實(shí)例,需要先指向一個(gè)外部類(lèi)的實(shí)例,也就是先生成外部類(lèi)的實(shí)例,
因?yàn)閮?nèi)部類(lèi)可以調(diào)用外部類(lèi)的成員,當(dāng)沒(méi)有外部類(lèi)實(shí)例的時(shí)候也就沒(méi)有這些成員的內(nèi)存空間,內(nèi)部類(lèi)在實(shí)例化的時(shí)候,調(diào)用外部類(lèi)的成員就會(huì)出錯(cuò),所以需要使用外部類(lèi)的實(shí)例 + 點(diǎn) + new 的方式實(shí)例化一個(gè)新的內(nèi)部類(lèi)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class TestInner{ public static void main(String [] args) { Outer outer = new Outer(); Outer.Inner inner = outer. new Inner(); } } |
在內(nèi)部類(lèi)(Inner Class),可以隨意的訪(fǎng)問(wèn)外部類(lèi)的成員,這可讓我們更好地組織管理我們的代碼,增強(qiáng)代碼的可讀性。
靜態(tài)內(nèi)部類(lèi)可以直接創(chuàng)建對(duì)象new B.C();
如果內(nèi)部類(lèi)不是靜態(tài)的,那就得這樣
1
2
|
A a = new A(); A.B b = a. new B(); |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
原文鏈接:http://blog.csdn.net/xidiancoder/article/details/56277105