gpt4 book ai didi

java - 是否有真正的理由将 Java main 放在公共(public)类中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:38 26 4
gpt4 key购买 nike

与无修饰符类相比,我看到的大多数程序在公共(public)类中都有 main 方法。例如:

public class Main 
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}

而不是

class Main 
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}

根据我的阅读,明确公开该类的唯一原因是使其对其自身包外的类可见。

main 的工作只是充当您实际程序 API 的插件,可以轻松地与任何其他带有 main 的类互换(GUI/CUI 一直在变化,并且必须设计为一次性的)。

如果我不希望该类对其他 Java 类可见;如果我需要它,我可以为一个新的 main 创建一个新的容器类,它知道它可能被其他类使用,并且它将是公共(public)的。

除了教人们以与其中的类相同的方式命名他们的类之外,是否有任何理由默认为主要的“public”创建容器类(如果省略 public 则不会强制执行,并导致“混淆”为什么 Foo.java 会生成 Main.class?”)?

最佳答案

我认为通常这样做有 3 个原因:

  1. 在一个不公开的类中有一个公开的静态方法感觉很奇怪
  2. 主类很少在公共(public) API 库中公开,所以这并不重要。 IDE 通常默认生成公共(public)类。
  3. 必须调用 main 方法的 VM 的引导代码被视为包外部的代码,因此将类公开以使其可被逻辑上的外部代码访问是正确的做法。

关于java - 是否有真正的理由将 Java main 放在公共(public)类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com