Java入門到精通——基礎篇之static關鍵字,入門到精通static
一、概述
static 關鍵字是聲明靜態變數,靜態方法用的。static的含義是屬於類且不屬於類對象的變數和函數。
二、static的產生。
在建立對象的時候除非用new建立那個類的對象,否則實際上並沒有獲得任何對象只有當執行new來建立對象時資料存放區空間才被分配,其方法才供外界調用。但是有兩種情況上述方法時無法解決的
第一種只想為某特定域分配單一儲存空間而不去考慮究竟要建立多少對象,甚至不需要建立任何對象。
第二種希望某個方法(變數)不予包含它的類的人很對象關聯在一起。也就是沒有建立對象,也能調用這個方法。
為瞭解決上面的兩個問題static關鍵字就誕生了。
當一個事物是static的時候就意味著這個域或方法不會與包含它的那個類的任何對象執行個體關聯在一起。即使從未建立某個類的任何對象,也可以調用其Static方法或其static域。
三、例子。
TestStatic.java
public class TestStatic {public static int i=33;}
StaticMain.java
public class StaticMain {/** * @param args */public static void main(String[] args) {System.out.println("TestStatic.i="+TestStatic.i);TestStatic s1=new TestStatic();TestStatic s2=new TestStatic();System.out.println("s1.i="+s1.i);System.out.println("s2.i="+s2.i);s2.i=133;System.out.println("s1.i="+s1.i);System.out.println("s2.i="+s2.i);}}
:
四、總結。
在例子我們發現第一個列印出來i的值就是實現了希望某個變數不予包含它的類的人很對象關聯在一起。也就是沒有建立對象,也能調用這個方法。下面的則是實現了只想為某特定域分配單一儲存空間而不去考慮究竟要建立多少對象,甚至不需要建立任何對象。static關鍵字就是為我們解決了這兩個問題。
static關鍵字還是需要謹慎使用以免給程式帶來不必要的麻煩。