询问一个关于内部类的问题
请问以下这句为什么不报错?
public class Test {
public static void main (String[] args) {
Test newTest=new Test();
Inner innerClass=newTest.ReturnInner(); //这句为什么不报错?
}
public Inner ReturnInner(){
return new Inner();
}
class Inner {
}
}
Thing in JAVA上说,如果从外部类的非静态方法之外的任意位置创建某个内部类,那么必须具体指明这个对象的类型,比如这里就应该是
Test.Inner innerClass=newTest.ReturnInner(); 但我在这里把外部类名Test.去掉也不报错,请问是为什么?