は
new PrintWriter(ExampleStream).print("Just Something");
と同じ
PrintWriter pw = new PrintWriter(ExampleStream);
pw.print("Just Something");
pw.close();
それで、PrintWriter は閉じますか?
は
new PrintWriter(ExampleStream).print("Just Something");
と同じ
PrintWriter pw = new PrintWriter(ExampleStream);
pw.print("Just Something");
pw.close();
それで、PrintWriter は閉じますか?
いいえ、どちらも同じケースではありません
あなたの質問の2番目の例では、 pw.close() が実行されるとすぐに PrintWritter が閉じます。その間
あなたの質問の最初のケースでは、printwriter はすぐには閉じられません。--> new PrintWriter(ExampleStream).print() を呼び出した後、そのオブジェクトへの参照がないため、この同じオブジェクトを再度使用することはできません。つまり、ガベージ コレクターによって削除される資格があることを意味します。ガベージ コレクターがいつ実行されるかはわかりません。そのため、このオブジェクトがいつ削除されるかはわかりません。心に留めておくべきもう 1 つの重要なことは、このオブジェクトがガベージ コレクターによって削除される可能性がありますが、そのプロセスは pw.close() と同じではないということです。
いいえ。
技術的には、Java の匿名という用語は、名前のないローカル クラスを作成することを指します。あなたがしたことは、変数に割り当てずにクラスのインスタンスを作成することです。