Java Main 方法,良好的编码风格

标签 java coding-style

我与我的一位 friend 就 Java 中 main 方法的正确和良好使用进行了很长时间的讨论。基本上我们有一个这样的类:

public class AnImporter implements Runnable {
  // some methods, attributes, etc.
}

但是 main 方法应该放在哪里呢?我认为“将代码保留在它所属的位置”是一种很好的做法,从而将上面的代码变成

public class AnImporter implements Runnable {
  public static void main(String [] args){
    // Startup code for Importer App here
  }
  // some methods, attributes, etc.
}

虽然我的伙伴认为“启动代码与应用程序本身无关”,因此它应该放在另一个类中,如下所示:

public class AnImporter implements Runnable {
  // some methods, attributes, etc.
}

public class AnApplication {
  // Nothing here
  public static void main(String [] args){
    AnImporter a = new AnImporter();
    // Startup code here
  }
  // Nothing here
}

尽管我们讨论了一段时间,但最终我们都没有得出结论,在 Java 中哪种方法更好。你对这个话题有什么看法?在哪里,最重要的是,为什么,你把你的 main 方法放在你放置它的地方?

最佳答案

我同意你 friend 的看法。您正在 AnImporter 中构建一个潜在的可重用服务,该服务可能用于具有多个 main 的多个程序中。因此,将一个 main 特殊并嵌入到 AnImporter 中没有多大意义。

关于Java Main 方法,良好的编码风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732151/

相关文章:

JAVA HOME 设置为 1.8 但 eclipse 使用 java 9

java - 如何播放从 RingtonePreference 中选择的铃声

c# - 是否有可下载的文档封装了 StyleCop 强制执行的核心规则?

sql - 减少 SQL 代码中的冗余/重复

Python打印出 float 或整数

objective-c - 什么时候应该在 Objective-C 方法名称中使用 "and"?

java - 作业在启动应用程序期间执行

java - Java 中的下一个字符检查

java - @JsonIgnoreProperties( {"hibernateLazyInitializer", "handler"}) 有什么作用?

c - malloc() 是否分配连续的内存块?