static關鍵字定義與使用說明

static關鍵字定義與使用說明

1.static關鍵字使用範圍

static可以用來修飾:屬性、方法、代碼塊、內部類

2.static修飾屬性

  • 使用static修飾屬性:靜態變量(或類變量)
    • 實例變量:我們創建了類的多個對象,每個對象都獨立的擁有一套類中的非靜態屬性。當修改其中一個對象中的非靜態屬性時,不會導致其他對象中同樣的屬性值的修改。
    • 靜態變量:我們創建了類的多個對象,多個對象共享同一個靜態變量。當通過某一個對象修改靜態變量時,會導致其他對象調用此靜態變量時,是修改過了的。
  • static修飾屬性特性:
    • 1.靜態變量隨着類的加載而加載。可以通過"類.靜態變量"的方式進行調用
    • 2.靜態變量的加載要早於對象的創建。
    • 3.由於類只會加載一次,則靜態變量在內存中也只會存在一份:存在方法區的靜態域中。
  • static屬性訪問
    • 類可以訪問static變量,不可以訪問實例變量。
    • 對象可以訪問static變量,可以訪問實例變量。

3.static修飾方法

  • 使用static修飾方法:靜態方法
    • 隨着類的加載而加載,可以通過"類.靜態方法"的方式進行調用
    • 靜態方法中,只能調用靜態的方法或屬性
    • 非靜態方法中,既可以調用非靜態的方法或屬性,也可以調用靜態的方法或屬性
    • 在靜態的方法內,不能使用this關鍵字、super關鍵字
  • static方法訪問
    • 類可以訪問static方法,不可以訪問非static方法。
    • 對象可以訪問static方法,和非static方法

4.如何判斷是否使用static

在代碼開發過程中,什麼時候使用static修飾屬性和方法那?

  • 如何確定一個屬性是否要聲明爲static的?
    • 屬性是可以被多個對象所共享的,不會隨着對象的不同而不同的。
    • 類中的常量也常常聲明爲static
  • 如何確定一個方法是否要聲明爲static的?
    • 操作靜態屬性的方法,通常設置爲static的
    • 工具類中的方法,習慣上聲明爲static的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章