今日は、静的クラスとプライベート コンストラクターについて読んでいます。
静的クラス - 静的クラスでインスタンスを作成できません。静的クラスを継承することはできません。生成されるインスタンスは 1 つだけです。
プライベート コンストラクター - インスタンスを作成できません。継承することはできません。(インスタンスがいくつ生成されるかはわかりません。)
2 つのコンソール アプリケーションを作成しました。1 つは静的クラス用、もう 1 つはプライベート コンストラクター用です。
静的クラス コード
コンストラクターが1回呼び出されると、単一のオブジェクトが生成されることを理解しました。
プライベート コンストラクター コード
さて、オブジェクトが生成されるかどうかがわかりませんでした。
2つ質問があります。
質問 1. Private コンストラクターと Static クラスの間に特に違いはありませんでした。Private Constructor を使用する必要があるシナリオと、両方を使用できるので Static クラスを使用する必要がある場所を教えてください。
質問 2. プライベート コンストラクターを使用すると、いくつのオブジェクトが生成されますか?
ありがとう。
編集 :
人々は私の質問を理解していなかったと思います。静的コンストラクターは常に最初の参照で 1 回呼び出すことを知っています。静的コンストラクターは、クラスの静的メンバーを初期化するために使用されます。
質問 1. 状況があります。インスタンス化できないクラスを作成する必要があります。これは、静的クラスまたはプライベート コンストラクターのいずれかで行うことができます。だから私の質問は、「両方に違いはありますか? どちらを使用すればよいですか??」
質問 2. プライベート コンストラクターを使用すると、いくつのオブジェクトが作成されますか? 答えが 0 の場合、プライベート コンストラクターのメモリ割り当てが CLR でどのように機能するか。プライベート コンストラクターを使用する場合、メモリ割り当てはありません。