1. 程式人生 > >2018年11月13日Java學習之關鍵字static(類成員和類方法),單例設計,類的成員之:初始化塊

2018年11月13日Java學習之關鍵字static(類成員和類方法),單例設計,類的成員之:初始化塊

1.類變數(類屬性)由該類的所有例項共享 static 修飾的變數就是類變數,可以直接不建立物件訪問靜態成員,所有例項可以共同修改這個值

2.類方法

  1. static修飾的方法可以用類名.方法名()訪問
  2. 在static方法內部只能訪問類的static屬性,不能訪問類的非static屬性。
  3. 沒有建立物件也可以訪問靜態方法
  4. 因為不需要例項就可以訪問static方法,因此static方法內部不能有this。
  5. 過載的方法需要同時為static的或者非static的。

3.所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在一個物件例項,並且該類只提供一個取得其物件例項的方法。

如果我們要讓類在一個虛擬機器中只能產生一個物件,我們首先必須將類的構造方法的訪問許可權設定為private,這樣,就不能用new操作符在類的外部產生類的物件了,但在類內部仍可以產生該類的物件。因為在類的外部開始還無法得到類的物件,只能呼叫該類的某個靜態方法以返回類內部建立的物件,靜態方法只能訪問類中的靜態成員變數,所以,指向類內部產生的該類物件的變數也必須定義成靜態的。

4.類的成員之:初始化塊

  1. 作用:對Java物件進行初始化
  2. 程式執行順序:宣告成員變數的預設值-》初始化塊依次執行(同級別下順序執行)-》構造器對成員進行賦值操作。
  3. 格式:{ }
  4. static塊通常用於初始化static屬性
  5. 非靜態程式碼塊在這裡插入圖片描述
  6. 靜態程式碼塊在這裡插入圖片描述