是
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 会关闭吗?
不,他们都不是同一种情况
在您的第二个示例中,问题 PrintWritter 将在 pw.close() 执行时立即关闭。尽管
在您的问题的第一种情况下,printwriter 不会立即关闭。在调用 --> new PrintWriter(ExampleStream).print() 之后,因为您没有对其对象的任何引用,因此您不能再次使用同一个对象,这意味着它有资格被垃圾收集器删除。由于我们不能说垃圾收集器何时运行,这就是为什么无法确定何时删除该对象。要记住的另一件重要的事情是,即使垃圾收集器可能会删除该对象,但该过程与 pw.close() 不同
不。
从技术上讲,Java 中的匿名术语是指创建一个没有名称的本地类。您所做的只是创建一个类的实例而不将其分配给变量。