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