首頁  >  文章  >  Java  >  java 中關鍵字static的介紹

java 中關鍵字static的介紹

巴扎黑
巴扎黑原創
2016-12-05 10:50:381122瀏覽

Static 靜態的;可以用來修飾類別    屬性   方法   程式碼區塊 

      我們在建立類別時,就是在描述那個類別的物件的外形和行為。除非是new一個創建那個類別的對象,否則,實際上是不能取得任何對象的。只有在執行new來建立物件的時候,資料儲存空間才會被分配,它的方法才能被呼叫。 
      有兩種狀況是new一個物件的方法無法解決的。 
   1.只想在某一個特定的域分配一個單獨的儲存空間,不用去考慮究竟要創建多少對象,甚至於不用創建對象。 
   2.希望某一個方法不與存在有這個方法的類別的任何一個物件有關聯。 
   也就是說,不用建立物件來呼叫這個方法。這時候,我們可以用static關鍵字來解決。 
  
當聲明一個實物是static時,就說明了這個域或是這個方法不會與存在有它的類別的任何的物件關聯在一起。所以,我們就可以在沒創建這個類別的任何一個對象,就可以來呼叫static的方法或是訪問static域。

static屬性[類別屬性]:該類別的所有的物件共享的一個屬性,只會佔用一塊記憶體空間 
  例如: 
  

Java程式碼  

 public class one{  
     static i=10;  
}

  .i也只有一個儲存空間,這兩個物件會同時享用這個i 
   

Java程式碼  

one a1=new one();  
    one a2=new one();

  在這裡,a1和a2都是指向同一個儲存空間,所以它們的數值都是10. 
方法[類別方法]:類別方法不能再用this和super表示物件
                       

public class two{  
     static void jia(){  
      one.i++;  
}

  現在,這個two的jia()方法透過++運算子將靜態的資料i遞加。
我們可以典型的new物件來呼叫: 

  

Java程式碼  

two t=new two();  
  t.jia();

因為這個方法是靜態的,我們可以直接調用,如: 
 

rr  創造任何物件的前提下,就可以呼叫它。

static程式碼區塊:也叫靜態程式碼區塊,是在類別中獨立於類別成員的static語句區塊,可以有多個,位置可以隨便放,它不在任何的方法體內,JVM載入類別時會執行這些靜態的程式碼區塊,如果static程式碼區塊有多個,JVM將按照它們寫在類別中的先後順序依次執行它們,每個程式碼區塊只會執行一次。 
例如: 

Java程式碼  

two.one();


執行的結果 
ABCE

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn