恩,看完上面的回答,在下产生了一个问题,静态方法内部不能声明静态内部类的问题,我指的静态方法里面是不能有public,static变量的,在编译的时候是否把class当作一个变量来编译呢,请看下面代码:
public class Demo2 {
public static void main(String[] args) {
Test.Method1();
class Test2{
public void Method2() {
System.out.println("new Test2().Method2()");
}
}
// static class Test3{
// public static void Method3(){
// System.out.println("在方法内部声明静态类会报错,谁能解释一下");
// }
// }
}
static class Test{
public static void Method1() {
System.out.println("Test内部类静态方法,编译运行SUCCESS!");
}
}
}
把注释的代码取消就会报错。。。。,也就是Test3,其他的Test,Test2都运行正常。。。是不是和我的猜想一样。 |