一个java包中很少有main()方法

时间:2015-11-17 04:53:52

标签: java

我突然想知道创建多个主要方法和在java包中创建一个main方法之间的区别。

示例1,a.java有其主要方法,然后a.java方法将一些传递给也有其main方法的b.java。

A.java(A.java的主要方法) - (传递一些) - > B.java(B.Java的主要方法)

示例2,与上述不同,a.java没有主要方法,但b.java只有HAS的主要方法。运行b.java从a.java中获取一些。

运行B.java(这只有它的主要方法) - (从中得到一些) - > A.java(它没有主要方法)

我认为解释为文本很复杂......我只是想知道它们之间有什么区别,如果你推荐其中一个,哪一个会好?

2 个答案:

答案 0 :(得分:3)

不同之处在于,如果在多个类中实现main(),那么您可以选择将每个单独的类作为Java应用程序运行。

您想要还是需要这样做?如果是这样,那就是你的答案。

否则(更典型地),你有一个实现main()的类,它通过直接调用它们声明的方法与其他类交互或委托给它们(如果你使用了良好的编码风格,将以描述性方式命名,称为main())。

简而言之,当您希望您的类可以作为Java应用程序直接运行时,请实现main()。否则,不要。

无论您有零个,一个还是多个类,实现main()都符合您的要求,但在大多数情况下,您可能只有零个或一个。

另请注意,您的范围不仅限于单个包。没有什么可以说每个包应该或必须有一个实现main()的类。实际上,大多数软件包都没有,并且添加main()实现纯粹是为了满足“应该总是至少有一种”规则是一个坏主意。

如果您的要求不需要main()实施,请不要添加。

答案 1 :(得分:0)

保留两种主要方法没有任何意义。这就像你正在使用一种主要方法,而另一种主要方法是一种简单的方法。这里唯一的名字是main()。您也可以将其名称设置为除此之外的名称。但是在A级你需要主要的方法。