哥哥,那句话你理解的有误,对于静态方法只要类以加载,内存就会给它开辟一份空间
你想想此时有对象吗,你题目中的内部类是成员内部类,他就相当于外部类的成员,你想想
外部类的静态方法能访问外部类的非静态成员吗,而你现在直接把它的对象创建出来了,
那当然能够访问了,例如:如果你定义一个Person类,在测试类的静态方法中你创建了
Person类的对象,你想想能不能访问。毕老师的那句话是说:外部类的静态方法要想访问其他成员
,其他成员必须是静态的。
打个比喻:
public class Outer{
private String name;
public void test2(){
}
public static void test1(){
//此时能访问name和test2()吗?要想访问必须是静态的
//而你上面你直接创建了对象,那就不说了
new Outer().test2();
}
}
你上面定义的内部类就相当于外部类的成员,与上面的类似 |