.關於以下程式**的說明正確的是(d )
1.class hasstatic
13.}
a、5行不能通過編譯,因為引用了私有靜態變數
b、10行不能通過編譯,因為x是私有靜態變數
c、程式通過編譯,輸出結果為:x=103
d、程式通過編譯,輸出結果為:x=102
該題中 靜態變數x在方法執行前已經被分配好記憶體了 然後例項化之後他們呼叫的還是之前分配好記憶體的那個x 為此我專門又新增了兩句話
public class hasstatic
}這裡輸出的是
false
true
true
true
true
x=102
==的作用作用於物件來說是表示兩個物件的位址一致不一致 而此時可以看出兩個物件的位址是不一致的 但是他們呼叫的x的位址卻又是一致的 (他們修改的是同乙個x的值)
關於靜態變數
靜態變數的型別關鍵字是static,其包括靜態全域性變數和靜態區域性變數。靜態區域性變數的作用域是區域性的,即存在於乙個檔案或者乙個函式中,而靜態全域性變數則存在於整個函式中,即當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。靜態區域性變數和動態區域性變數 3 4 5 6...
關於靜態變數
對於函式來說,定義與宣告很容易區別,但對於變數來說則不是,為了辨明,試驗了一下幾段 include using namespace std class test2 int test2 i int main int argc,const char argv 這段 可以通過 此時主函式中未使用類test...
關於靜態變數的繼承
父類 package test public class father 子類1 package test public class son1 extends father 子類2 package test public class son2 extends father 測試 package tes...