与无修饰符类相比,我看到的大多数程序在公共类中都有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创建一个新的容器类,该类知道其他类可以使用它,并且它将是公共的。
除了让人们以与其内部类相同的方式命名他们的类外,是否有默认理由使主要的“公共”容器类成为默认类(如果您省略公共,则不会强制执行,并且会引起“为什么Foo混淆”) .java生成Main.class?”)?
最佳答案
我认为通常这样做的原因有3个: