我想比较两件事。我们知道:
我的问题是为什么?为什么外部类也不能访问内部类的成员?这是一个很清楚的例子:
public class OuterClass {
String stringOuter;
void m1(){
//can call just stringOuter
InnerClass i = new InnerClass();
i.stringInner; //can call stringInner when you make object
}
class InnerClass{
String stringInner;
void m2(){
//can call stringOuter and stringInner
//doesn't need object from OuterClass
}
}
}
我想类声明只是模板,并且也适用于内部类,除非您从内部类(模板)或任何其他无法实例化其成员的类实例化一个对象。静态成员例外,因为它们位于类区域中。