[英]Java Extending class containing main method
我将以下代码作为作业的一部分
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
与您最多可以有一个条件文件public
类, 如果你做那么公共类的名称必须与的名称相匹配.java
文件。 在您的情况下,声明为public
的类是Factorial
,因此您的文件名必须是Factorial.java
。
继承在这里正常工作,并且Factorial
继承了public static void main()
,这就是为什么你在执行java Factorial
看到你的输出。
您可以在同一个文件中拥有多个类,但只有一个公共类,因为Base
不是公共类,但不是推荐的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.