static 修飾符
聲明類成員屬於類,而不屬於類的實例。
static 修飾符指明成員屬於類本身而不屬於類的實例。即使創建了類的多個實例,給定應用程序中只存在 static 成員的一個副本。您只能通過對類的引用(而不是對實例的引用)來訪問 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