標題:
static 關鍵字基本觀念
[打印本頁]
作者:
李泳霖
時間:
2022-7-8 16:54
標題:
static 關鍵字基本觀念
來看看一個程式片段:
class Ball {
double radius;
final double PI = 3.14159;
...
}
如果你建立了多個Ball物件,那每個Ball物件都會有自己的radius與PI成員:
不過我們都知道,圓周率其實是個固定的常數,不用每個物件各自擁有,你可以在PI上宣告static,表示它屬於類別:
class Ball {
double radius;
static final double PI = 3.141596;
...
}
被宣告為static的成員,不會讓個別物件擁有,而是屬於類別,如上定義後,如果建立多個Ball物件,每個Ball物件只會各自擁有radius:
成員 (member) 宣告時若使用關鍵字 static 修飾,該成員變成屬於類別 (class) 而非物件 (object) ,因此使用 static 就不需要先建立物件。
我們舉例如下:例如同一個廠商生產的自行車,把自行車抽象為一個 類,物件就是每一輛自行車。每一輛自行車有價格、顏色等屬性,這些屬性每一輛自行車都不一樣,但是,他們的生產廠商都是一樣的,這個時候就可以把生產廠商定義成一個靜態型別。Static實體在記憶體中單獨存放,不跟物件的變數存放在一起。
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2