關于內部類創建對象的問題?
//外部類HelloWorld public?class?HelloWorld?{ ???? ????//?內部類Inner,類Inner在類HelloWorld的內部 ????public?class?Inner?{ ???????? //?內部類的方法 public?void?show()?{ System.out.println("welcome?to?imooc!"); } } ???? public?static?void?main(String[]?args)?{ ???????? ????????//?創建外部類對象 HelloWorld?hello?=?new?HelloWorld(); ????????//?創建內部類對象 Inner?i?=?hello.new?Inner(); ????????//?調用內部類對象的方法 i.show(); } }
其中?
// 創建內部類對象
Inner i = hello.new Inner();
為什么要這樣創建內部類的對象,
而:
Inner i=new Inner();
這樣創建內部類的對象不可以嗎
2016-07-06
不可以
如果類理解起來吃力,可以想一下方法,你怎么使用一個類里面定義的方法?肯定是先new一個對象hello,然后再hello.xxx() 這樣使用方法。你在定義一個內部類的時候,默認會生成此內部類的構造方法,如何使用此方法?跟普通方法一樣。
以上
2016-08-03
內部類創建方法:
如果類B中有內部類C,則靜態內部類可以直接創建對象new B.C();
如果內部類不是靜態的,那就得這樣
B b = new B();
B.C c = b.new C();(C c =b.new C();也行)
2016-07-20
贊?。。?/p>