包含main方法的Java Extending类

时间:2013-06-05 20:41:18

标签: java

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

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

public class Factorial extends Base{


}

我的任务是运行代码,然后解释输出。文件的名称是 Factorial.java 。代码运行没有问题,打印Hello World对我来说是令人惊讶的。在输入代码之前,我认为它不会编译,因为正在扩展的父类应该在另一个文件中,但现在我不太确定。非常感谢soome澄清。

2 个答案:

答案 0 :(得分:12)

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

继承在这里正常工作,public static void main()Factorial继承,这就是您在执行java Factorial时看到输出的原因。

答案 1 :(得分:1)

您可以在同一个文件中拥有多个类,但只有一个公共类,因为Base不是公共类,但不是推荐的做法。