为什么你的类需要有一个包含public static void main (String[] args){}
的构造函数?
为什么不在构造函数中使用单独的类并实例化它?
答案 0 :(得分:17)
main()方法是java中任何程序的入口点。这是JVM调用以执行程序的方法。
包括抽象类在内的每个类都有一个构造函数。即使您没有明确声明一个,编译器也会添加一个默认构造函数。 main()方法必须属于某个公共类(它总是有一个构造函数)。是的,通常最好设计另一个具有所有编程逻辑的类,并在主类中实例化该类,即在其中使用main()方法的类。
但是您也可以使用main方法创建自己类的对象(因为您无法从静态方法访问实例成员)。
答案 1 :(得分:7)
方法public static void main(String[] args)
不会创建您的类的实例。但构造函数确实如此。
在多个类中使用main(String[])
方法有助于测试大型应用程序中特定类的功能。
答案 2 :(得分:4)
构造函数和main
方法有两个不同的用途。
构造函数允许创建给定类的实例,而main
方法只允许潜在入口点来启动程序。
此外,您可以为给定的类提供多个构造函数(接受零个或多个参数),但只有一个主方法(在给定的类中)。
但主要的区别在于我的第一点 - 它们有不同的用途。一个是启动程序的入口点,另一个是明确允许创建类的实例。
答案 3 :(得分:1)
虽然我认为这不具有建设性......
一些程序员喜欢在类本身内部放置一个main
“test”程序来构造和使用它。一些教授喜欢通过构造一个物体并让它完成工作而成为人造OOP。
......在我个人看来,这两种模式都不值得效仿。