最佳答案
你是不是看错了,没看到它在静态内部类里呀,,,,你上面代码它也不在静态内部类里,,
至于你的问题:
public class Test {
static class Inner {
void doitInner() {
System.out.println("Inner.doitInner()");
}
public static void main(String[] args) {
Inner in = new Inner();
in.doitInner();
System.out.println("内部类");
}
}
public static void main(String[] args) {
Inner in = new Inner();
Test.Inner in2 = new Inner();
Test.Inner in3 = new Test.Inner();
in.doitInner();
in2.doitInner();
in3.doitInner();
System.out.println("主类");
}
}
也就是说:主方法是一个类了只能有一个,内部类也算是另一个类,所以其实在内部类的里面或者外面都能创建的,但是在内部类里创建主函数,需要内部类是静态的,这个是由于非静态的内部类是不能定义静态变量和静态方法的,而main方法也有static这个关键字,所以也如下面这样则会报错
最佳答案由网友 泤氺卄蕐 提供