更新時間:2020-11-18 17:17:52 來源:動力節點 瀏覽1064次
無論是在平時的開發中還是求職面試的過程中,我們都會經常遇見static關鍵字。因此,掌握static關鍵字的用法成為了我們的當務之急,本文就來向大家介紹static關鍵字用法以解燃眉之急。
在正式學習static關鍵字的用法之前,我們先要弄懂static關鍵字的基本概念,不然學起static關鍵字的用法就像是無萍之水,知其然而不知其所以然。我們可以一句話來概括static關鍵字:方便在沒有創建對象的情況下來進行調用。也就是說:被static關鍵字修飾的不需要創建對象去調用,直接根據類名就可以去訪問。對于這個概念,下面根據static關鍵字的四個基本使用來描述。
了解了static關鍵字的基本概念,然后我們再來學習static關鍵字用法。
1、static關鍵字修飾類
java里面static一般用來修飾成員變量或函數。但有一種特殊用法是用static修飾內部類,普通類是不允許聲明為靜態的,只有內部類才可以。下面看看static關鍵字用法是怎么樣的?
public class StaticTest {
//static關鍵字修飾內部類
public static class InnerClass{
InnerClass(){
System.out.println("============= 靜態內部類=============");
}
public void InnerMethod() {
System.out.println("============= 靜態內部方法=============");
}
}
public static void main(String[] args) {
//直接通過StaticTest類名訪問靜態內部類InnerClass
InnerClass inner=new StaticTest.InnerClass();
//靜態內部類可以和普通類一樣使用
inner.InnerMethod();
}
}
/* 輸出是
* ============= 靜態內部類=============
* ============= 靜態內部方法=============
*/
如果沒有用static修飾InterClass,則只能new 一個外部類實例。再通過外部實例創建內部類。
2、static關鍵字修飾方法
修飾方法的時候,其實跟類一樣,可以直接通過類名來進行調用:
public class StaticMethod {
public static void test() {
System.out.println("============= 靜態方法=============");
};
public static void main(String[] args) {
//方式一:直接通過類名
StaticMethod.test();
//方式二:
StaticMethod fdd=new StaticMethod();
fdd.test();
}
}
3、static關鍵字修飾變量
被static修飾的成員變量叫做靜態變量,也叫做類變量,說明這個變量是屬于這個類的,而不是屬于是對象,沒有被static修飾的成員變量叫做實例變量,說明這個變量是屬于某個具體的對象的。
我們同樣可以使用上面的方式進行調用變量:
public class StaticVar {
private static String name="java的架構師技術棧";
public static void main(String[] args) {
//直接通過類名
StaticVar.name;
}
}
4、static關鍵字修飾代碼塊
靜態代碼塊在類第一次被載入時執行,在這里主要是想驗證一下,類初始化的順序。
父類靜態變量
父類靜態代碼塊
子類靜態變量
子類靜態代碼塊
父類普通變量
父類普通代碼塊
父類構造函數
子類普通變量
子類普通代碼塊
子類構造函數
代碼驗證一下:
首先我們定義一個父類
public class Father{
//父類靜態代碼塊
static{
System.out.println("Father static");
}
//父類構造函數
public Father(){
System.out.println("Father constructor");
}
}
然后定義一個子類
public class Son extends Father{
//靜態代碼塊
static{
System.out.println("Son static");
}
//構造方法
public Son(){
System.out.println("Son constructor");
}
public static void main(String[] args) {
new Son();
}
}
以上就是對static關鍵字用法的介紹,總的來說還是很簡單的嗎,我們只要牢記概念,梳清條理,就能掌握static關鍵字用法。想要掌握更多的Java關鍵字用法的相關知識可以觀看本站的Java SE教程,超高質量的Java關鍵字用法教程等你來學!
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習