static 修飾子
クラス メンバーが、クラスのインスタンスではなくクラスに属していることを宣言します。
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