static 關鍵字主要有以下幾種使用場景:
1. static 修飾類的成員變數時,被稱為靜態成員變數。引用 static 修飾的成員變數時,無需建立類的例項物件,可直接使用 類.變數名 進行呼叫。
**示例:
public class student
public static void main(string args)
2. static 修飾類的成員方法時,被稱為靜態成員方法。引用 static 修飾的成員方法時,無需建立類的例項物件,可直接使用 類.方法名 進行呼叫。
**示例:
publicclass
student
/*** 靜態方法
*/public
static
void
say(){}
}
public static void main(string args)
3. static 修飾類的**塊時,被稱為靜態**塊。在類載入時,靜態**塊先執行,其次是普通**塊,最後是類的構造方法。而且不管類建立多少物件,靜態**塊只執行一次, 而普通**塊和構造方法會執行多次。
**示例:
public class studentstatic
}
publicstatic
void
main(string args)
輸出結果:
我是被static修飾的靜態**塊我是**塊
我是預設的構造方法
我是**塊
我是預設的構造方法
4. static 只能修飾內部類,不能修飾普通類。
**示例:
publicclass
student
}
看下面的**示例:
publicclass
student
static
static
student()
/*** 普通方法
*/public
void
haha()
/*** 靜態方法
*/public
static
void
say()
}
public class main}
執行結果:
我是被static修飾的靜態**塊1
我是被static修飾的靜態**塊2
我是**塊1
我是**塊2
我是預設的構造方法
我是**塊1
我是**塊2
我是預設的構造方法
我是乙個普通方法
張三我是乙個靜態方法
從上面的**和執行結果可以得出以下結論:
總結性描述:
static表示靜態的意思,一般用於修飾成員變數(類變數、靜態變數)和成員函式(類方法、靜態方法),被static修飾的方法只能訪問靜態成員變數和靜態方法,不可以直接訪問非靜態成員變數和非靜態方法;非靜態方法可以直接呼叫靜態的變數和方法。靜態是隨著類的載入而載入的,因此可以直接用類進行訪問。static也可以修飾內部類,普通類是不允許宣告為靜態的,只有內部類才可以。被static修飾的內部類可以直接作為乙個普通類來使用,而不需要例項乙個外部類。
請看一下下面的**示例:
publicclass
student
static
public
student()
}
publicclass zhangsan extends
student
static
public
zhangsan()
}
publicclass
main
}
執行結果:
我是被static修飾的靜態**塊111我是被static修飾的靜態**塊
我是**塊
我是預設的構造方法
111我是**塊
111我是預設的構造方法
Static關鍵字的作用及使用
如果希望乙個屬性被所有物件共同擁有,可以將其宣告為static型別。宣告為static型別的屬性或方法,此屬性或方法也被稱為類方法,可以由類名直接呼叫。person.country b城 如果乙個方法使用了static關鍵字宣告,此方法可以直接使用類名進行呼叫。注意 使用static方法,不能呼叫非...
使用static關鍵字
在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...
使用static關鍵字
在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...