關於static的一些理解

2021-08-30 04:39:38 字數 496 閱讀 7087

分兩種情況來了解;

static修飾成員變數時,該變數屬於類變數;什麼時候適合用它來修飾成員變數呢?當乙個資料具有共享性質的時候就應該考慮使用;也可以理解資料具有聚合性,例如公司的部門名稱,它是相對於部門成員共享的,部門成員聚合在一起形成了這個部門;

static修飾成員方法時,該方法屬於類方法;要注意該方法只能呼叫靜態成員變數,非靜態成員變數是無法呼叫的;為什麼呢?因為

static修飾的成員變數與static修飾的成員方法先存在於jvm的靜態區,當main方法開始執行時它們就存在了,那靜態方法如何知道後來有什麼呢?又不能未卜先知,所以它只能用靜態變數,這也是為什麼呼叫非靜態成員方法時需要new乙個物件的原因,這就是告訴main方法有這個東西了;一句話,先存在的無法知道後存在的,後存在的可以知道先存在的。所以非靜態的方法是可以使用靜態成員變數的;

何時使用static修飾方法呢?

看方法使用了靜態成員變數沒,如果用了就用static;

方法中沒使用非靜態成員變數的用static;

關於static的一些理解

static 靜態的 當new乙個物件修改static修飾的值後,再new其他物件再呼叫這個值,將會是修改後的值。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 靜態方法與非靜態方法的區別 靜態方法不屬於類的某乙個具體物件 例項 而是屬於類所有,因此,通過類名呼叫靜態方法。非靜態方法可以訪問類中的任何成員,...