たとえば、Board多くのフィールドを持つクラス (つまり、かなり複雑なクラス) があるとします。次のように Board をインスタンス化します。
Board b = new Board();
この例では、コンストラクターにパラメーターを入力していませんが、実際の例ではパラメーターが必要になる場合があります。次に、Board の新しいインスタンスをインスタンス化し、それを次のように設定するとします。
Board c = b;
これは、実際には新しいボードを作成しません。私が知っていることからc、b今は同じメモリ領域、同じ Board オブジェクトを指しています。したがって、 について何かを変更するとしたらb、次のように整数フィールドをインクリメントするとします。
b.count++;//Assume count is an integer field in the Board class.
値c.countもインクリメントする必要があります。ただし、これを自分で行うと、うまくいきません。 b.count増加していますが、まだ増加していませc.countん。
なぜこれが起こるのか、誰かが私に説明できますか? この効果は私が実現したいものです。したがって、これを実装する方法についてのアドバイスは非常に役に立ちます (一般的な例は問題ありません)。