命名 Java 具有要编译的继承的文件

Naming Java File with Inheritance to compile

我想编译 java 文件,但不知道如何命名该文件,因为它有 2 个 public class,其中 1 个 class 继承自另一个。我将文件命名为 Superclass,但是 cmd 给我一个错误,指出 "subclass is public, should be declared in file named Subclass.java"。有人可以帮我解决这个问题吗?谢谢

    public class Superclass {

    public void printMethod() {
        System.out.println("Printed in Superclass.");
    }
}
public class Subclass extends Superclass {

    // overrides printMethod in Superclass
    public void printMethod() {
        super.printMethod();
        System.out.println("Printed in Subclass");
    }
    public static void main(String[] args) {
        Subclass s = new Subclass();
        s.printMethod();    
    }
}

两个 类 应该在不同的文件中。即 Subclass.java 中的子类和 Superclass.java

中的超类

要么为两个 class 使用单独的文件,要么从 Superclass 中删除 public access specifier。在 java 中,在同一个文件中你只能有一个 public class.

并且包含 main 方法的 class 应声明为 public