为什么在同一个类中有构造函数和main方法

时间:2013-04-13 10:15:08

标签: java

为什么你的类需要有一个包含public static void main (String[] args){}的构造函数?

为什么不在构造函数中使用单独的类并实例化它?

4 个答案:

答案 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。

......在我个人看来,这两种模式都不值得效仿。