什麼時候使用:
當一個方法或變數需要初始化加載,或是經常被呼叫的時候可以加上static
。用static修飾的方法可以用類別名稱直接調用,不用的一定要先實例化一個物件然後才可以調用。
不足之處:
初始化加載,比較佔內存,所以不常用的方法,不建議加此關鍵字。
如果你需要透過計算來初始化你的static變量,你可以宣告一個static區塊,Static 區塊只在該類別載入時執行一次。
java相關影片教學推薦:java線上教學
下面的範例顯示的類別有一個static方法,一些static變量,以及一個static 初始化區塊。
範例程式碼:
// Demonstrate static variables,methods,and blocks. class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } }
一旦UseStatic 類別被裝載,所有的static語句被運行。
首先,類別屬性變數開始賦值,a被設定為3,b預設初始化為 0 ,接著運行static區塊,執行(列印一則訊息),最後,b被初始化為a*4 或12。然後呼叫main(),main()呼叫meth(),把值42傳遞給x,3個println()語句引用兩個static變數a和b,以及局部變數x。
注意:在一個static方法中引用任何實例變數都是非法的。
執行結果:
Static block initialized. x = 42 a = 3 b = 12
相關文章教學推薦:java程式入門
以上是java中什麼時候使用static的詳細內容。更多資訊請關注PHP中文網其他相關文章!