1

我正在尝试创建Console类的对象,但未能成功。我收到此错误“构造函数 Console() 不可见”。我在文档中也找不到任何构造函数。有人可以解释一下吗?

4

5 回答 5

5

Jon Skeet 的回答是正确的:您应该使用System.console()来获取Console.

这样做的原因是单例设计模式Console的实现,当 API 的作者想要确保创建一个并且只有一个类的实例时使用它。

于 2012-06-24T09:14:58.327 回答
2

您不打算直接创建实例。相反,请使用以下System.console()方法:

Console console = System.console();
于 2012-06-24T09:10:43.540 回答
1

您不能创建 Console 对象,构造函数是私有的。

但是您可以通过这种方式获取 Console 对象:

Console console = System.console();

查看javadoc了解更多信息。

于 2012-06-24T09:11:45.847 回答
1

您不需要创建Console类的对象。这不是必需的。请从文档中阅读以下内容:

如果这个虚拟机有一个控制台,那么它由这个类的一个唯一实例表示,可以通过调用 System.console() 方法获得。如果没有可用的控制台设备,则调用该方法将返回 null。

System.console()因此,如果任何控制台设备可用于虚拟机,您将获得控制台。

于 2012-06-24T09:12:04.577 回答
0

当控制台的构造函数是私有的时,它不能被显式实例化。您可以通过以下方式访问与 JVM 关联的控制台:

Console console = System.console();

请参阅此处的文档。

于 2012-06-24T09:16:49.600 回答