-2

静的クラスは、オブジェクトのインスタンスでは機能しないはずです。次に、「作業中」のオブジェクトのインスタンスを識別しますか?これは具体的なものでしょうか(つまり、新しいObjectA()をメソッドのパラメーターに渡します)。したがって、これが私が見ているものである場合、クラスは静的であってはなりません。

ありがとう

4

1 に答える 1

1

静的クラスは、単にそのオブジェクトのインスタンスが1つしかないことを意味します。静的クラスは、インスタンスが1つしかない場合と同じように動作します。グローバルと考えてください。静的クラスのオブジェクトをインスタンス化することはできません。クラスのメンバー変数の値はグローバルにその値を保持し、メンバー関数を使用してそれらを「操作」できます。

静的クラスとは対照的に、非静的クラスを使用すると、新しいオブジェクトを作成し、メンバー関数を使用してこれらのオブジェクトを「処理」できます。

vehicle honda = new vehicle();
honda.fuelup(10);
honda.value.ToString();

これが静的クラスである場合:

vehicle.fuelup(10);
vehicle.value.ToString();

上記の例では、クラスタイプの車両のオブジェクトホンダを作成しました。次に、関数を使用してオブジェクトを「処理」しました。静的クラスの場合、オブジェクトを作成する必要はありませんでした。オブジェクト名の代わりにクラス名を呼び出すだけです(hondaなど)。

要点をまとめると:

  • 静的=グローバル、1つのインスタンス
  • 静的=グローバル、1つのインスタンス(プログラムitelf?)のみであるかのよう
  • 非静的=ローカルスコープ、多くのインスタンス

これで質問に答えられない、または対処できない場合は、明確な質問で言い換えてください。

于 2012-04-19T00:25:12.977 に答える