static關鍵字就是靜態或全域的意思,可以用來修飾類別、方法和變數。通常我們會聽到類別成員或靜態變數(就是載入後不會再變化)。當靜態成員載入後就不會再變化,如:String字串,一旦被初始化值就不會再改變。一般在開發中,我們將共有成員用static修飾。
1、 最常見的就是:用來修飾成員變數(將其變成類別的成員),e.g.:程式狀態和異常訊息。 (這兩個一般是用static和final共同修飾,這在開發中很常見)。
2、 用來修飾成員方法,將其變成類別方法,就可以使用「型別.方法名」調用,常用於工具類別。 (就是不需要建立物件)
3、 靜態程式碼區塊,就多個物件放在一起初始化(靜態程式碼區塊被執行的較早,只在靜態變數之後)
接下來我們說靜態變數(被static修飾)和實例變數(沒有被靜態變數修飾)的不同:
1、 靜態變數:在記憶體中只是一個拷貝,只被初始化一次,只分配一次內存,用類型可以直接訪問,也可以透過創建物件來訪問。
2、 實例變數:被呼叫需要創建對象,沒創建一次就要分配一次內存,在內存中可以有多個考培,但相互不影響。
靜態方法可以直接透過類別名稱來調用,實例也可以直接調用。因此靜態方法中不能存在super和this關鍵字(如果有不是跟耍流氓一樣嗎?實例變數和特定物件關聯)。
相關推薦:
#以上是static關鍵字全知的詳細內容。更多資訊請關注PHP中文網其他相關文章!