-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

// この関数を何度も呼び出して新しいオブジェクトを作成するか、すべてのオブジェクトが 1 つのメモリを指すか。

を呼び出すと、new A()常に新しいオブジェクトが作成されます。

参照 ( someReference) が新しく作成されたオブジェクトに再割り当てされると、古いオブジェクトがガベージ コレクションの対象になる場合があります。

于 2012-12-17T21:49:34.867 に答える
2

複数回呼び出すと、毎回新しいインスタンスが作成さfoo()れます。new A()A

ただし、以前のインスタンスはガベージ コレクションの対象となり (someReferenceがそれを指していないため)、次のガベージ コレクション サイクル中にすぐに削除されます。

于 2012-12-17T21:49:15.320 に答える