6

我有以下代码作为作业的一部分

class Base {
  public static void main(String[] args){
    System.out.println("Hello World");
  }
}

public class Factorial extends Base{


}

我的任务是运行代码,然后解释输出。文件的名称是Factorial.java。代码运行没有问题,并打印了 Hello World,这让我感到惊讶。在输入代码之前,我认为它不会编译,因为正在扩展的父类应该在另一个文件中,但现在我不太确定。将不胜感激一些澄清。

4

2 回答 2

12

Java 允许您在单个.java文件中定义多个类,条件是您最多可以拥有一个public如果这样做,那么该公共类的名称必须与.java文件的名称匹配。在您的情况下,声明的类publicFactorial,因此您的文件名必须是Factorial.java.

继承在这里像往常一样工作,并且public static void main()继承了Factorial这就是为什么您在执行时看到输出的原因java Factorial

于 2013-06-05T20:46:08.080 回答
1

您可以在同一个文件中有多个类,但只有一个 public ,因为Base它不是公共类,但不建议这样做。

于 2013-06-05T20:45:02.760 回答