当我调用"new Object()"而不存储返回时,返回的对象会发生什么?

chr*_*rry 3 java

假设我们有一些代码如下所示(我知道这是不好的做法):

try {

new myObject();

} catch {

//stuff

}
Run Code Online (Sandbox Code Playgroud)

返回的对象会发生什么?它仍然存储在堆上吗?这会抛出编译时错误吗?

Kep*_*pil 7

它被创建,然后立即有资格进行垃圾收集.

我没有看到为什么它应该抛出异常的任何原因(当然,除非MyObject构造函数抛出一个),它是完全合法的语法.