次の方法で共有


static 修飾子

更新 : 2007 年 11 月

クラス メンバが、クラスのインスタンスではなくクラスに属していることを宣言します。

static statement

引数

  • statement
    必ず指定します。クラス メンバの定義。

解説

static 修飾子は、メンバがクラスのインスタンスではなくクラス自身に属していることを示します。クラスのインスタンスが複数作成された場合でも、static メンバのコピーは、指定したアプリケーションに 1 つしか存在しません。static メンバには、インスタンスへの参照ではなく、クラスへの参照を使用することでアクセスできます。ただし、クラス メンバの宣言では、this オブジェクトを使用して static メンバにアクセスできます。

static 修飾子は、クラスのメンバに指定できます。クラス、インターフェイス、およびインターフェイスのメンバには、static 修飾子を使用できません。

static 修飾子は、継承の修飾子 (abstract および final) またはバージョン セーフ修飾子 (hide および override) と共に使用することはできません。

static 修飾子と static ステートメントを混同しないでください。static 修飾子は、メンバがクラスのインスタンスではなくクラス自身に属していることを示します。

使用例

次のコードは、static 修飾子の使用例です。

class CTest {
   var nonstaticX : int;      // A non-static field belonging to a class instance.
   static var staticX : int;  // A static field belonging to the class.
}

// Initialize staticX. An instance of test is not needed.
CTest.staticX = 42;

// Create an instance of test class.
var a : CTest = new CTest;
a.nonstaticX = 5;
// The static field is not directly accessible from the class instance.

print(a.nonstaticX);
print(CTest.staticX);

このプログラムの出力は次のようになります。

5
42

必要条件

バージョン .NET

参照

概念

変数と定数のスコープ

型の注釈

参照

expando 修飾子

var ステートメント

function ステートメント

class ステートメント

static ステートメント

その他の技術情報

修飾子