Java类文件中main()方法的优先位置

时间:2011-10-27 04:49:48

标签: java coding-style methods main

说到java类中的顺序/序列方法。 您希望/更愿意看到main()方法?

  • 在每个领域之前的顶部(强调用户的存在和力量 他使用它)
  • 位于底部(让用户先查看字段,然后再查看主要内容)
  • 在c-tor之后 或......。

请分享您的想法,这是一种风格/哲学问题。 请不要建议将main()单独保存在单独的文件中。

4 个答案:

答案 0 :(得分:8)

这些只是我的想法:

main()是与对象实例无关的静态方法。我们知道它作为入口点存在,使我们的程序/类可执行。

事实是,在Java中,所有(但是原语)都是一个对象,所以main()必须在某个类的某个地方声明。这样的静态方法可以执行的代码更关心的是设置程序以便执行,并委托我们的业务逻辑(实际执行某些操作的对象)来运行应用程序。因此,它的关注点与我们类的其他部分不同(它定义了我们试图封装的一些数据和行为)。

main()并不真正属于我们日常类的数据和行为,因为我怀疑每个类都需要自己执行。 main()关注的是运行我们的程序。因此,应该在与应用程序启动/执行相关的项目模块中声明它远离我们的业务对象。因此,正如您可能猜测的那样,我正在提出您所说的不建议的内容 - 尽可能远离您的类和逻辑,并且仅在您的应用程序的入口点的上下文中声明它。 / p>

至于文件本身的位置,我认为这并不重要 - 只要该文件中的代码显然与设置和运行程序有关。

答案 1 :(得分:5)

Sun Microsystems多年前发布了他们的 Java编程语言的代码约定,许多组织都在不同程度上遵循它。

this section中,他们建议将方法放在文件的末尾。如您所知,main是“另一种方法”,虽然是类方法而不是实例方法。

虽然没有人强迫你遵守Sun的惯例,但由于对它有一定程度的熟悉,因此相对接近它们可能会有一些优势。大多数(如果不是全部)标准JDK库都将遵循它。

这是恕我直言,采用方法 - 最后一种方法的一个很好的理由。关于main在方法中的位置,将它放在第一个或最后一个可行。如果你发现它在某种程度上是“特殊的”,那就把它放在文件的最后。

答案 2 :(得分:4)

我总是把它放在最后,因为这就是他们在C.“传统”中的表现。这可能不是一个好理由。 : - )

答案 3 :(得分:1)

我认为你没有系统地在你编写的每个类中放置一个main()方法(在后面的例子中,你必须设想编写单元测试)。

只要您的类包含main()方法,并且应用程序的入口点也是如此,此类不应具有除应用程序初始化之外的任何行为。这种良好做法被称为“关注点分离”:一类=一种责任。

如果是这种情况,您的课程中不应该有那么多方法。我个人总是按重要性对方法进行排序:最重要/最有用/最重要的方法是所有其他方法,不添加任何实际工作(setter和getter对我来说都是那种)。

这样,读者可以先访问最重要的信息。

当然,我建议使用Java Convention进行编码,这意味着在声明方法之前,首先要声明您的类字段。