java可以在内部类中创建该内部类对象么

RT!
我知道可以在外部类中创建内部类的对象,匿名类也可以创建对象,但是其他内部类呢?应该是不可以吧,但是为什么呢?谁能说的详细点!!!

第1个回答  推荐于2017-10-12
public class InnerClass {
class A{
A(){
System.out.println("A class");
}
A getInstance() {
System.out.println("return a new A");
return new A();
}
}
public static void main(String[] args)
{
System.out.println("closing class ");
InnerClass innerClass=new InnerClass();
InnerClass.A a=innerClass.new A();
a=a.getInstance();
//如果上面没有创建外部类对象,那么就不能这样
//A a =new A();这是因为在没有创建外部类对象的时候,不能创建内部类对象(这个情况除了嵌套类之外),构建内部类的对象时,需要指向一个外部类对象的引用。

}
}本回答被提问者采纳
第2个回答  2012-03-22
当然是可以的了
publicclass hello{
public class Ok{

}
Ok o =new Ok();
}追问

在外部类声明内部类对象可以,这个我知道,我说的是在内部类中创建该内部类的对象,这个好像是不可以的,但是为什么呢??

第3个回答  2012-03-25
可以