Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 私有类使用_Java - Fatal编程技术网

Java 私有类使用

Java 私有类使用,java,Java,我知道Java不允许我们将顶级类定义为私有类,我在其他问题中看到了答案,声称它没有用,但为什么没有用呢?假设我想要一个管理员工工资的类,我不希望任何人访问这个类,我也不需要任何其他助手类,将其定义为private有什么问题?定义为private的顶级类在任何地方都无法访问。您可以使用具有public、protected或package(默认)访问权限的顶级类。您可以拥有private(或所有其他访问级别)内部类和静态类以及enums,因为包含类(就您而言,只有包含类)可以看到它们。我认为您在问题

我知道Java不允许我们将顶级类定义为私有类,我在其他问题中看到了答案,声称它没有用,但为什么没有用呢?假设我想要一个管理员工工资的类,我不希望任何人访问这个类,我也不需要任何其他助手类,将其定义为private有什么问题?

定义为
private
的顶级类在任何地方都无法访问。您可以使用具有
public
protected
package(默认)
访问权限的顶级类。您可以拥有
private
(或所有其他访问级别)内部类和静态类以及
enum
s,因为包含类(就您而言,只有包含类)可以看到它们。

我认为您在问题中混淆了
类实例

就像一个蓝图,
类实例
-就是使用这个蓝图构建的对象


假设您已经在顶层将该类定义为private,在这种情况下,没有人可以使用该类构建对象。你的蓝图在盒子里是封闭的,没有人可以访问这个蓝图来构建一个对象。

如果没有人会访问这个类,即使是JVM在执行
public static void main(String[]args)
方法时也不会,你会如何使用它?假设我想要一个管理员工工资的类,我不希望任何人访问这个类,也不需要任何其他帮助器类,将它定义为private有什么问题问题是,即使是你也无法访问该类。为什么?main是那个类中的一个方法,我正在运行这个类!我是说我在那个班,只需要按play,为什么我不能访问它@不,如果它是私人的,你就不能运行它。JVM仍然需要能够访问它,但是没有人,甚至JVM都不能访问和使用它。如果JVM无法访问此类,它将如何调用入口点?