一.static的使用場景::
當在定義類的時候,類中都會有相應的屬性和方法。而屬性和方法都是通過建立本類物件呼叫的。當在呼叫物件的某個方法時,這個方法沒有訪問到物件的特有資料時,方法建立這個物件有些多餘。可是不建立物件,方法又呼叫不了,這時就會想,那麼我們能不能不建立物件,就可以呼叫方法呢?
為了解決上訴問題,我們需要使用static關鍵字:static是靜態修飾符,一般用來修飾類中的成員。
二.static的使用分析:
1.被static修飾的成員變數屬於類,不屬於這個類的某個物件。
2.被static修飾的成員可以並且建議通過類名直接訪問。class demo
class test
}
訪問靜態成員的格式:
類名.靜態成員變數名
類名.靜態成員方法名(引數)
物件名.靜態成員變數名 ------不建議使用該方式,會出現警告
物件名.靜態成員方法名(引數) ------不建議使用該方式,會出現警告
class demo
}class test
}
三.static的注意事項:
1.靜態內容是優先於物件存在,只能訪問靜態,不能使用this/super。(靜態修飾的內容存於靜態區)
class demo
}
2.同乙個類中,靜態成員只能訪問靜態成員。
class demo
}
3.main方法為靜態方法僅僅為程式執行入口,它不屬於任何乙個物件,可以定義在任意類中。
四.static定義靜態常量
開發中,我們想在類中定義乙個靜態常量,通常使用public static final修飾的變數來完成定義;
此時變數名用全部大寫,多個單詞使用下劃線連線。
1.定義格式:public static final 資料型別 變數名 = 值;
2.當我們想使用類的靜態成員時,不需要建立物件,直接使用類名來訪問即可。class person
}
system.out.println(person.person_name); //列印lsy
person.method(); // 呼叫乙個靜態方法
3.注意
介面中的每個成員變數都預設使用public static final修飾。
所有介面中的成員變數已是靜態常量,由於介面沒有構造方法,所以必須顯示賦值。
可以直接用介面名訪問。
inte***ce inter
//其他類訪問介面中的靜態變數
inter.count
static關鍵字 java關鍵字
先按照宣告順序初始化基類靜態變數和靜態 塊,接著按照宣告順序初始化子類靜態變數和靜態 塊,而後按照宣告順序初始化基類普通變數和普通 塊,然後執行基類建構函式,接著按照宣告順序初始化子類普通變數和普通 塊,最後執行子類建構函式。import static com.test.test1.fu.say i...
Java的static關鍵字
基本概念static關鍵字可以修飾成員變數和成員方法表示隸屬於類層級,推薦使用類名.的方式 使用方式 1 對於非靜態的成員方法來說,既可以訪問非靜態的成員也可以訪問靜態的成員。成員 成員變數 成員方法 2 對於靜態的成員方法來說,只能訪問靜態的成員不能訪問非靜態的成員。執行靜態方法可能還沒有建立物件...
Java的static關鍵字
static 顧名思義是靜態的意思。與this相對,static表示所修飾的部分是屬於類本身所有的,不依賴與某個具體的例項。this表示的是對呼叫方法的那個當前物件的引用,可以看做是類的例項的引用,依賴於具體的例項。static方法就是沒有this的方法。在static方法內部不能呼叫非靜態方法,反...