Java 添加'';公共'';

Java 添加'';公共'';,java,Java,简单问题: 为什么会这样 class MyCode { public static void main(String[] args) { System.out.println("This will be printed"); } } public class MyCode { public static void main(String[] args) { System.out.println("This w

简单问题: 为什么会这样

class MyCode {
    public static void main(String[] args) {
        System.out.println("This will be printed");
    }
}
public class MyCode {
    public static void main(String[] args) {
        System.out.println("This will be printed");
    }
}
但不是这样

class MyCode {
    public static void main(String[] args) {
        System.out.println("This will be printed");
    }
}
public class MyCode {
    public static void main(String[] args) {
        System.out.println("This will be printed");
    }
}
给这个错误

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at MyCode.main(worksheet.java:2)

MyCode
是外部类还是内部类?如果在java文件中定义公共类,文件名必须与类名相同。Eclipse应在类名处(或附近)显示红色下划线。问题是公共顶级类型必须位于与其类型名匹配的文件中。例如,公共类
MyCode
必须位于名为
MyCode.java
的文件中,但您的类位于
工作表.java
中。此规则不适用于非公共类型,这就是您的第一个示例有效的原因。@daniu it有效!非常感谢。