static關鍵字

青城山下写代码1010發表於2024-08-16

7.5 static關鍵字


目錄
  • 7.5 static關鍵字
    • 7.5.1 static是什麼
    • 7.5.2 static修飾的成員變數是什麼? 有什麼特點?
    • 7.5.3 兩種成員變數各自在什麼情況下定義?
    • 7.5.4 static修飾成員方法的基本用法
    • 7.5.6 靜態程式碼塊

7.5.1 static是什麼

  • static是靜態的意思,可以用來修飾成員變數、成員方法。
  • static修飾成員變數之後稱為靜態成員變數(類變數),修飾方法之後稱為靜態方法(類方法)。
  • static修飾後的成員變數,可以被類的所有物件共享(訪問、修改)。

7.5.2 static修飾的成員變數是什麼? 有什麼特點?

靜態成員變數(有static修飾,屬於類、載入一次,記憶體中只有一份),訪問格式

  • 類名.靜態成員變數(推薦)
  • 物件.靜態成員變數(不推薦)。

例項成員變數(無static修飾,屬於物件),訪問格式:

  • 物件.例項成員變數。

7.5.3 兩種成員變數各自在什麼情況下定義?

  • 靜態成員變數:表示線上人數等需要被類的所有物件共享的資訊時。
  • 例項成員變數:屬於每個物件,且每個物件的該資訊不同時(如:name,age,money…)

7.5.4 static修飾成員方法的基本用法

成員方法的分類

  • 靜態成員方法(有static修飾,歸屬於類),建議用類名訪問,也可以用物件訪問。
  • 例項成員方法(無static修飾,歸屬於物件),只能用物件觸發訪問。

使用場景:

  • 表示物件自己的行為的,且方法中需要訪問例項成員的,則該方法必須申明成例項方法
  • 如果該方法是以執行一個共用功能為目的,則可以申明成靜態方法。

成員方法的分類和訪問分別是什麼樣的?

靜態成員方法(有static修飾,屬於類和物件共享)訪問格式:

  • 類名.靜態成員方法。
  • 物件.靜態成員方法。(不推薦)

例項成員方法(無static修飾,屬於物件)的訪問格式:

  • 物件.例項成員方法。

7.5.6 靜態程式碼塊

  • 格式:static{}
  • 特點:需要透過static關鍵字修飾,隨著類的載入而載入,並且自動觸發、只執行一次
  • 使用場景:在類載入的時候做一些靜態資料初始化的操作,以便後續使用。
public class base {
    public static void main(String[] args) {
        
 
    }
 
    static {
        System.out.println("-------------static-------------");
    }
 
 
}

隨著類的載入而載入:

public class base {
    public static void main(String[] args) {
 
        System.out.println("-------------main方法-------------");
 
    }
 
    static {
        System.out.println("-------------static-------------");
    }
 
 
}

img

相關文章