static:靜態的
當new乙個物件修改static修飾的值後,再new其他物件再呼叫這個值,將會是修改後的值。
static修飾的內容是屬於類的,是為了告訴別人static後面的是公共的,最好不要修改,修改後會影響其他人。
用法:是乙個修飾符,用於修飾成員(成員函式和成員變數)。
注意:static修飾區域性函式和區域性變數是沒有意義的,因為方法中的內容當執行完後是無效的。靜態修飾的內容被物件所共享,當成員被靜態修飾後,就多了一種呼叫方式,就是被類名呼叫(使用時推薦用類名呼叫)
static的特點
1隨著類的載入而載入,隨著類的消失而消失,說明它的生命週期很長
2比物件先存在於記憶體中
3被所有物件所共享
4可以直接被類名所呼叫
靜態的使用注意;
1靜態方法只能訪問靜態成員
2非靜態方法既可以訪問靜態也可以訪問非靜態
3靜態方法中不可以定義this,super關鍵字
因為靜態優先於物件存在,所以靜態方法中不可以出現this
靜態有利有弊
利:對物件的共享資料進行單獨空間的儲存,節省記憶體,沒有必要每乙個物件中儲存乙份
可以直接被類名呼叫
弊:生命週期過長,訪問出現侷限性(靜態雖好,只能訪問靜態)
什麼時候定義靜態變數呢
當物件中出現共享資料時,該資料就要被靜態所修飾
物件中的特有資料要定義成非靜態存在於堆記憶體中
什麼時候定義靜態函式呢
當功能內部沒有訪問到非靜態資料時,那麼該功能可以定義成靜態的
乙個類中會有乙個空引數的建構函式
這個預設的建構函式和所屬類一致
如果類被public修飾,那麼預設的建構函式也需public修飾
預設建構函式的許可權隨著類的變化而變化
靜態的應用:
每乙個應用程式中都有共性的內容,可以將這些功能封裝抽取,以便復用
關於static的一些理解
分兩種情況來了解 static修飾成員變數時,該變數屬於類變數 什麼時候適合用它來修飾成員變數呢?當乙個資料具有共享性質的時候就應該考慮使用 也可以理解資料具有聚合性,例如公司的部門名稱,它是相對於部門成員共享的,部門成員聚合在一起形成了這個部門 static修飾成員方法時,該方法屬於類方法 要注意...
關於static(靜態)變數的一些理解
關鍵字static就是靜態的意思,被static修飾的變數就是靜態變數,對於靜態變數和普通變數有很多區別 include include using namespace std void fun int i 運算結果 3 對上述函式,當呼叫fun 1 時,value被初始化為1 i為2 下乙個語句v...
關於static的一些想法
o 今天在c 上機的時候,想通過例項化的乙個物件呼叫類裡面的乙個靜態方法,結果vs報錯。r 重新查了一下課本,發現static修飾的方法都是靜態方法。i 靜態方法與非靜態方法的區別 靜態方法不屬於類的某乙個具體物件 例項 而是屬於類所有,因此,通過類名呼叫靜態方法。非靜態方法可以訪問類中的任何成員,...