2016-04-14 19 views
0
class A { 
} 
class B 
{ 
static A a; 
} 

これはどういう意味ですか?クラスBの中にクラスAのインスタンスしか持てないということですか?クラス内の静的オブジェクトの目的

+1

MSDNのC#で冒険を始める必要がありますhttps://msdn.microsoft.com/en-us/library/98f28cdx.aspx – wudzik

+1

これは、クラスBのすべてのインスタンスがインスタンスへの同じ参照を共有することを意味しますクラスAのクラス。 – HimBromBeere

+0

この種の質問は、具体的なプログラミングの問題を解決しようとするstackoverflowのトピック外です。 _programmers_に関する基本的な言語の質問に関する助けを得るかもしれません:http://programmers.stackexchange.com/questions/163457/understanding-the-static-keyword –

答えて

0

BAのインスタンスの数はstaticまたは任意の他のキーワードではなく、クラスB内部材aの定義によってdetermindedされません。したがって、aがちょうどの場合、Aの場合、必ず のインスタンスになります。しかし、aがリストとして宣言されている場合は、確かに多くのインスタンスがあります。

Staticは、単にあなたがBのいずれかの種類によって使用することができますAの正確に一つのインスタンスを持っているあなたのコードを持つようBのインスタンスは、Aのインスタンスに同じ参照を共有することを意味します。さらに、Aという1つのインスタンスにアクセスするために、Bというインスタンスも必要ありません。ただし、アプリケーション内にAというインスタンスが1つしか存在しないため、他のクラスもAのインスタンスを作成する可能性があります。

関連する問題