何时在Java中创建的本地引用中声明和初始化对象?

时间:2011-08-13 21:21:00

标签: java classloader

如果我有以下代码:

public class Foo {

   private Object obj = new Object();

   public void bar() {
      final Object obj2 = new Object();
   }
}
  • 我是否正确地指出,当创建Foo的新实例时,将实例化被称为obj的对象?

  • 此外,仅被obj2引用的对象才会被加载 将方法bar推入堆栈时的JVM (调用)?

  • 最后,局部变量存在于堆栈中,我也是正确的 说obj2将存在于堆栈中,而它所引用的对象 生活在堆上?

1 个答案:

答案 0 :(得分:3)

就是这样。方法范围内的对象仅在调用方法时被实例化,而如此声明的类的成员将在构造对象时被实例化。