Consoleクラスのオブジェクトを作成しようとしていますが、成功しませんでした。「コンストラクタ Console() が表示されません」というエラーが表示されます。また、ドキュメント内にコンストラクターが見つかりませんでした。誰でもこれを説明できますか?
5 に答える
Jon Skeet's answer is correct: you should use System.console()
to get hold of the one instance of Console
.
The reason for this is that Console
is an implementation of the Singleton design pattern, which is used when the author of an API wants to ensure that one and only one instance of a class is ever created.
インスタンスを直接作成するためのものではありません。代わりに、次のSystem.console()
方法を使用してください。
Console console = System.console();
Consoleオブジェクトを作成することはできません。コンストラクターはプライベートです。
ただし、次の方法でコンソールオブジェクトを取得できます。
Console console = System.console();
詳細については、javadocを参照してください。
Console
クラスのオブジェクトを作成する必要はありません。必須ではありません。以下のドキュメントをお読みください:
この仮想マシンにコンソールがある場合は、System.console()メソッドを呼び出すことで取得できるこのクラスの一意のインスタンスで表されます。使用可能なコンソールデバイスがない場合、そのメソッドを呼び出すとnullが返されます。
したがって、System.console()
仮想マシンでコンソールデバイスを使用できるかどうかによって、コンソールを取得できます。
A Console can't be instantiated explicitely while it's constructor is private. You can access the console associated with the JVM the following way:
Console console = System.console();
See the documentation here.