class TopLevelClass
{
NestedTopLevelClass ntlc = new NestedTopLevelClass (5);
static class NestedTopLevelClass
{
int myInstanceField;
NestedTopLevelClass (int i)
{
myInstanceField = i;
}
}
}class NestedTopLevelClassDemo
{
public static void main (String [] args)
{
TopLevelClass.NestedTopLevelClass ntlc = new TopLevelClass.NestedTopLevelClass (5);

System.out.println (ntlc.myInstanceField);
}
}
大家先看以上代码,看了之后再来看问题,看看我的这个问题,我的问题就是.为什么在TopLevelClass类里就可以NestedTopLevelClass ntlc = new NestedTopLevelClass (5) 这样来声明呢?不是说必须要使用外部类加+"."+嵌套类的名字吗???但又怪了,在类
NestedTopLevelClassDemo里面声明就的确要加外部类的名字了(TopLevelClass.NestedTopLevelClass ntlc = new TopLevelClass.NestedTopLevelClass (5);),
再补充一下在TopLevelClass类里也可以TopLevelClass.NestedTopLevelClass ntlc = new TopLevelClass.NestedTopLevelClass (5)这样来声明,,大家讲一下,迷茫咯......最后是说下为什么.能从内存里说出个1,2就更好了