1. 程式人生 > >Java中靜態變數、常量、方法

Java中靜態變數、常量、方法

  • 由static修飾的變數、常量和方法被稱做靜態變數、常量和方法。
  • 靜態成員屬於類所有,區別與個別物件,可以在本類或其他類使用類名和“.”運算子呼叫靜態成員。

    語法
    類名.靜態類成員

public class StaticTest {
static double PI = 3.14;                      //在類中定義靜態常量
static int id;                                //在類中定義靜態變數
public static void method1() {
    //dongSomething
}
public void method2
() { System.out.println(StaticTest.PI);        //呼叫靜態常量 System.out.println(StaticTest.id);        //呼叫靜態變數 StaticyTest.method1();                    //呼叫靜態方法 } }
  • 靜態成員與靜態方法的作用通常是為了提供共享資料或方法。
public class StaticTest {
    static double PI = 3.1415;
    static int id;
    public static void
method1() { //doingSomethring } public void method2() { System.out.println(StaticTest.PI); System.out.println(StaticTest.id); StaticTest.method1(); } public static StaticTest method3() { method2();        //錯誤,靜態方法不能呼叫非靜態方法或屬性 return this;      //錯誤,靜態方法中不可以使用this關鍵字
} }
  • 靜態方法中不可以使用this關鍵字
  • 在靜態方法中不可以直接呼叫非靜態方法
  • 在Java中不能講方法體內的區域性變數宣告為static
  • 靜態程式碼塊優先於主方法執行,而在類中定義的靜態程式碼塊會優先於構造塊執行,而且不管有多少個物件產生,靜態程式碼快直執行一次。
  • 靜態變數處於虛擬機器記憶體的方法區中,只有一份。