我们可以用一个包含主方法的非公共类编写一个java程序,它会编译和运行得很好。为什么人们公开主要阶层?
有什么好处吗?
因为类有一个main方法而将其公开是没有好处的。
话虽如此,也没有太多理由不这样做。主类可能很短,其中几乎没有实质性的方法,或者它将被烘焙成像这样的核心类之一
class Server {
public static void main(String[] args) {
Server s = new Server();
s.start();
}
// rest of Server class here
}
通常,这些核心类是您想要公开的。
但这与公开上课的好处无关。这是关于类是公共的好处,因为它有主方法,因此没有直接的好处。
因为客户端将有权根据您为类指定的可访问性创建类的对象。如果您查看Java源代码库,您将看到许多私有(内部类)类。取决于您希望允许谁访问以创建类的对象。
只有当您在main方法中使用的类不属于同一个包时,您才会获得好处。公共类将在所有包中具有可见性。