如果我有以下代码:
public class Foo {
private Object obj = new Object();
public void bar() {
final Object obj2 = new Object();
}
}
我是否正确地指出,当创建Foo
的新实例时,将实例化被称为obj
的对象?
此外,仅被obj2
引用的对象才会被加载
将方法bar
推入堆栈时的JVM
(调用)?
obj2
将存在于堆栈中,而它所引用的对象
生活在堆上?答案 0 :(得分:3)
就是这样。方法范围内的对象仅在调用方法时被实例化,而如此声明的类的成员将在构造对象时被实例化。