java中全域性變數為什麼不能先宣告後賦值

2021-07-08 21:57:20 字數 1124 閱讀 9218

1樓:兄弟連教育

因為i=3這是賦值語句,不能單獨出現在方法或{}以外的地方。

public clss test //寫在{}裡就可以了}

2樓:匿名使用者

全域性變數可以啊。

靜態的也可以賦值啊。但是你要注意。全域性變數是屬於這個類的。

你可以在構造方法中,靜態語句塊中。成員語句塊中,或者是setter中。都行啊。

但是靜態的全域性變數就小心咯。只能是在靜態**塊中或者是直接賦值。

不過很少使用靜態**塊。

3樓:匿名使用者

全域性變數為最終變數,而最終變數只能在初始化時賦值,以後就不能再賦值,也不能改變它的值

4樓:匿名使用者

本來就是先宣告後賦值呢,噢,我懂你的意思了,你是大概這個意思:

public class myclass

}//然後你這樣做就會報錯吧,因為在這裡的全域性變數a可以直接通過類名myclass.a來訪問,不一定要new這個類,所以a不一定被賦值了,所以會報錯,所以要在宣告的同時並且賦值

public static int a = 12;

5樓:足球上籃

變數在全域性可以不賦值,因為有預設值

在區域性不可以不賦值,因為沒有預設值

6樓:匿名使用者

宣告之後沒有賦值可能沒有近你的for迴圈 或者if判斷中!所以造成全域性沒有賦值

7樓:勵梧桐

也不一定。假設你在一個方法中獲取了一個數值,這個數值又需要在別的類中呼叫。中間隔著10來個類,傳參就太麻煩了,不如直接用個靜態的引用。

當然這也行不太符合規範,但是有時候用著方便才是硬道理在無關痛癢的情況下用用也無妨

8樓:匿名使用者

必須先宣告的,不然不能賦值和使用

9樓:匿名使用者

你說的是不合理的 把例子拿出來給我看看.

10樓:匿名使用者

你提供set\get方法就可以了。

11樓:匿名使用者

就是要先宣告才能賦值的啊,你問的是?

matlab中如何使區域性變數變成全域性變數

使用命令baiglobal 例如定義 全域性變du量a global a 注意 1 全域性變zhi 量列dao表中各個回變數名不能用逗號分隔。如 答 global a b c 2 全域性變數使用前必須再matlab工作空間中申明,如果再具體得函式中用則要 在函式前面申明,否則在該函式中即使用到了該變...

js中如何定義全域性變數,js中如何定義和使用全域性變數啊?

直接在js檔案中寫var 變數 就行了,這樣所有js都能拿到這個變數,或者直接寫window.x window.index 99 paracraft中,變數與全域性變數的定義?本地變數的作用 範圍只限當前 方塊,即使多個 方塊共用一個電影方塊,每個 方塊的本地變數作用範圍也只是單個 方塊 如圖中第1...

js函式生命週期,js原生中全域性變數和區域性變變數的生命週期

老師講課內容 1.開始執行前 建立執行環境棧 陣列 臨時儲存正在執行的函式的執行環境向執行環境棧中壓入第一個預設函式main 建立全域性作用域物件window 2.定義函式時 建立函式物件,封裝函式定義 宣告函式名變數,引用函式物件 函式物件的scope屬性引用回建立函式時的作用域3.呼叫函式時 e...