-1
class A {}

class B {
    static A someReference = null;

    void foo () {
        // does calling this function many times create new objects, or all objects will point to one memory.
        someReference = new A; 
    }
}

不使引用静态意味着它将无法指向新的内存位置。?谢谢你。

4

2 回答 2

3

// 是否多次调用该函数会创建新对象,否则所有对象都将指向一个内存。

调用new A()总是创建新对象。

当引用 ( someReference) 重新分配给新创建的对象时,旧对象可能有资格进行垃圾收集。

于 2012-12-17T21:49:34.867 回答
2

多次调用将创建每次foo()的新实例。new A()A

然而,前一个实例有资格进行垃圾收集(因为someReference不再指向它),并且将在下一个垃圾收集周期中很快被删除。

于 2012-12-17T21:49:15.320 回答