有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否适合使用main方法作为起点?

我想知道:在一个更短(但可能更长)的程序中,主方法的最佳用途是什么

我的意思是:当我开始一个项目时。我通常从MainController开始。我用它来控制程序的流程。过去(现在)我一直在做这样的事情:

public class MainController {

//Note, normally I'll do some singleton patter stuff here, but I believe that's irrelevant to this question

  public static void main(String[] args) {
    MainController mc = new MainController();
    mc.begin();
  }

  public void begin() {
    //my code here
  }
}

我想听听关于的意见:将主代码放在主方法中(如下面的代码)还是像我一直在做的那样(如前面的代码)更好

public static void main(String[] args) {
  //my code here
}

注:我意识到这可能是一个基于观点的回答,但我很好奇投票结果如何。谢谢


共 (2) 个答案

  1. # 1 楼答案

    至少为了可读性,我总是从你的第一种方法开始。从某种意义上说,我可以选择为我的自定义方法命名任何我想要的名称。而不是把它全部放在main方法中,main方法并没有真正描述我想要完成的任务

    也就是说,为了平衡起见,让我提供一个计数器:您的第一种方法将需要创建一个对象,并为此对象调用一个方法,这是一种开销。但事实上,这并不重要

  2. # 2 楼答案

    最好使用您首先提到的方法,即

     public static void main(String[] args) {
        MainController mc = new MainController();
        mc.begin();
      }
    
      public void begin() {
        //my code here
      }
    

    原因是,begin()方法应该做begin()应该做的事情。正如我们针对high cohesion的目标一样,这应该是一种方法。每个方法都在做它应该做的事情main()只是开始你的程序的一个点,这并不意味着它应该做你能想到的所有关于这个特定类的事情