6
  1. 我有一个类 (1) 有一些构造函数(arg 和没有 args)。在另一个 class(2) 中,使用 new constructor() 创建了 Class 1 的对象。那么在这种情况下会调用 main 方法吗?

  2. 理想情况下,什么时候在任何类中调用 main 方法?

4

5 回答 5

8

任何类都可以有一个 main 方法。例如,您的 Class(1) 和 Class(2) 类都可以有一个 main 方法,但在程序运行时只会调用一次。

例如,当您运行程序时,java class1 - 您告诉 Java 您希望使用 Class(1) 的 main 方法启动程序。这可能会令人困惑,因为您认为 Java 会执行它找到的每一个主要方法,但事实并非如此。一旦 Java 在您指定的类中找到并运行了 main 方法,它将忽略所有将来可能找到的 main() 方法,因为它已经为您的程序执行了 main 方法。

您可以将 main() 视为通向程序的门,一旦进入,计算机就不会再次尝试进入,它已经在程序中!我希望这对你有所帮助。

于 2012-05-08T06:59:26.797 回答
6

main是一个静态方法,程序的入口点,并且在程序启动时被调用一次(除非你显式调用它),而不是为每个对象初始化。

于 2012-05-08T06:54:56.397 回答
6

main方法仅在两种情况下调用:

  1. 由 Java 虚拟机启动应用程序
  2. 通过另一个方法(可能在另一个类中)调用该main方法,虽然这是正确的 Java,但它不是最佳实践

main不会在类的实例化时自动调用 - 作为静态方法,它的封闭类甚至不需要实例化即可调用。

另一方面,构造方法在创建类时被调用。

于 2012-05-08T06:56:33.477 回答
0

当你运行你的class2(应该包含main方法)时,main方法将被调用。

于 2012-05-08T06:55:34.017 回答
0

您的main方法将被不在您的程序中的东西调用,并且将被调用一次以启动您的程序。在这里查看更多信息。至于你应该把它放在哪里,它的位置并没有真正的限制。

于 2012-05-08T06:56:22.963 回答