包含main方法的Java Extending类

我将以下代码作为作业的一部分
class Base {
  public static void main(String[] args){
    System.out.println("Hello World");
  }
}

public class Factorial extends Base{


}

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

解决方法

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

继承在这里正常工作,并且Factorial继承了public static void main(),这就是为什么你在执行java Factorial时看到你的输出.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...