關于內部類創建對象的問題?
//外部類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>