首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

從頭認識 Java:static 關鍵字全方位總結

     編輯:Java 綜合教學

從頭認識 Java:static 關鍵字全方位總結

static 是 Java 中修飾「類級別」成員的關鍵字,意味著屬於類而非實例。本文系統梳理其六大核心用法,並通過完整代碼示例演示各場景應用。

六大核心用法

  1. 靜態導入:import static java.lang.System.out; 直接使用類名.方法名,簡化代碼。
  2. 靜態代碼塊:static { ... } 類加載時執行一次,用於複雜靜態字段初始化。
  3. 靜態屬性域:private static int id = 0; 全類共享單份存儲。
  4. 靜態方法:public static int getId() 無 this 引用,只能訪問靜態成員。
  5. 靜態內部類:private static class InnerStaticClass 不持有外部類引用,常用於單例模式實現。
  6. (重複)靜態導入:同上,此處為筆記原文保留。

完整代碼示例

package com.ray.test;

import static java.lang.System.out;

public class StaticExample {
    static {
        out.println("load object");
    }

    private static int id = 0;

    public static int getId() { return id; }
    public static void setId(int id) { StaticExample.id = id; }

    public static void main(String[] args) {
        out.println(StaticExample.getId());
        out.println(StaticExample.getInnerStaticClass());
    }

    private static class InnerStaticClass {
        public InnerStaticClass() {
            out.println("create InnerStaticClass");
        }
    }

    public static InnerStaticClass getInnerStaticClass() {
        return new InnerStaticClass();
    }
}

關鍵注意點

  • 靜態方法中不能直接調用非靜態方法/字段,需通過實例引用。
  • 靜態代碼塊按聲明順序執行,早於構造函數。
  • 靜態內部類不依賴外部類實例,適合懶漢式單例(Holder 模式)。
  • 過度使用靜態會導致耦合度上升、難以測試,建議僅用於工具類、常量、無狀態服務等場景。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved