我刚开始学习Java。程序的主要功能总是存在于一个类中。
public class t{
public static void main(String[] args){
// do stuff
}
}
我学过C ++,在那里主要功能不需要在课堂上。为什么在Java中我们必须这样做?
为什么没有类的Java中存在主函数,就像在C ++中一样?
答案 0 :(得分:3)
可能出于同样的原因,你在问题的最后加上问号:这就是他们决定如何做到的。
main
方法是一个约定的结果,该约定说“这是入口点的方法签名应该看起来的样子”,这不会使它免于语言语义。
Java不支持类/接口之外的方法,因此它必须包含在一个方法中。
答案 1 :(得分:0)
因为这就是语言的设计方式。 JVM首先加载包含main函数的类,然后调用main()
方法。如果没有加载课程,则无法调用main()
,即main()
在没有封闭类的情况下不存在。
答案 2 :(得分:0)
main
是一种方法。因此,main
必须位于一个类中。
此外,一个类不仅仅是一个对象的蓝图。它本身就是一大块代码。它所做的一件事是通过包含main
方法来提供应用程序的入口点。
答案 3 :(得分:0)
因为所有内容都在Java中的类中。 Java代码仅包含类。它们可以嵌套在自身或包层中,但不允许任何内容出现在类之外。
唯一的例外是package
和import
语句。
答案 4 :(得分:0)
“Java中的每个方法都必须在一个类中,因为规范是这样说的”答案只是故事的一部分。通过在类中包含main(),可以在项目中具有多个入口点。即带有main()方法的多个类。这允许您在运行时而不是编译时选择不同的主类。 e.g。
java -cp program.jar com.example.Class1
或者如果你想从同一个jar中运行一个不同的主
java -cp program.jar com.example.Class2
答案 5 :(得分:0)
让我们考虑一下Java中是否允许
void main (){
f1();
f2();
}
int f1(){
f2();
return 1;
}
int f2(){
return 3;
}
由于Java中没有原型,因此如何将主调用f1或f2或将f1调用f2? 我认为这是原因之一
答案 6 :(得分:0)
由于Java是oop语言,因此除非您创建类,否则您将无法做任何事情。这使得Java成为面向对象的语言。 Java就是这样设计的,它首先要加载公共类并调用main方法