我有一个类 (1) 有一些构造函数(arg 和没有 args)。在另一个 class(2) 中,使用 new constructor() 创建了 Class 1 的对象。那么在这种情况下会调用 main 方法吗?
理想情况下,什么时候在任何类中调用 main 方法?
5 回答
任何类都可以有一个 main 方法。例如,您的 Class(1) 和 Class(2) 类都可以有一个 main 方法,但在程序运行时只会调用一次。
例如,当您运行程序时,java class1 - 您告诉 Java 您希望使用 Class(1) 的 main 方法启动程序。这可能会令人困惑,因为您认为 Java 会执行它找到的每一个主要方法,但事实并非如此。一旦 Java 在您指定的类中找到并运行了 main 方法,它将忽略所有将来可能找到的 main() 方法,因为它已经为您的程序执行了 main 方法。
您可以将 main() 视为通向程序的门,一旦进入,计算机就不会再次尝试进入,它已经在程序中!我希望这对你有所帮助。
main
是一个静态方法,程序的入口点,并且在程序启动时被调用一次(除非你显式调用它),而不是为每个对象初始化。
该main
方法仅在两种情况下调用:
- 由 Java 虚拟机启动应用程序
- 通过另一个方法(可能在另一个类中)调用该
main
方法,虽然这是正确的 Java,但它不是最佳实践
main
不会在类的实例化时自动调用 - 作为静态方法,它的封闭类甚至不需要实例化即可调用。
另一方面,构造方法在创建类时被调用。
当你运行你的class2(应该包含main
方法)时,main
方法将被调用。
您的main
方法将被不在您的程序中的东西调用,并且将被调用一次以启动您的程序。在这里查看更多信息。至于你应该把它放在哪里,它的位置并没有真正的限制。