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

Rom*_*nov 12 java methods program-entry-point coding-style

说到java类中的order/sequence方法.你期望/更喜欢看main()哪种方法?

  • 在每个领域之前的顶部(强调用户的存在并迫使他使用它)
  • 在底部(让用户首先看到字段,然后发现主要字段)
  • 在c-tor之后
    ......

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

use*_*300 8

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

  • Java 是基于 C 的……这是一个很好的理由。 (2认同)

fil*_*fku 7

这些只是我的想法:

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

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

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

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


Ray*_*oal 5

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

本节中,他们建议将方法放在文件的末尾.正如您所知,main虽然是类方法而不是实例方法,但"只是另一种方法".

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

这是恕我直言,采用方法 - 最后一种方法的一个很好的理由.关于方法中的位置main,将它放在第一个或最后一个将起作用.如果你以某种方式发现它"特殊",那么把它放在文件的最后.