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

Java final 關鍵字極簡速查:變量、方法、類三大用法一覽

     編輯:Java 綜合教學

final 修飾變量

  • 基本類型:值不可變,編譯期常量(static final)直接內聯到調用處字節碼。
  • 引用類型:引用地址不可變,但對象內部狀態可修改。
  • 空白 final:聲明時不賦值,必須在構造器/實例塊中初始化,構造器結束前必須賦值。
  • 方法參數:方法體內不可重新賦值,配合匿名內部類/Lambda 捕獲使用。

final 修飾方法

  • 禁止子類重寫(Override),鎖定算法骨架(模板方法模式)。
  • 私有方法隱式 final,final 方法可被 JIT 內聯優化(現代 JVM 已弱化此優勢)。

final 修飾類

  • 禁止被繼承,所有方法隱式 final。
  • 典型類:String, Integer, LocalDate 等不可變類。
  • 設計意圖:保證不可變性、安全性、線程安全。

一覽表

位置約束典型例子
類不可繼承String, Enum, 包裝類
方法不可重寫Object.getClass(), 模板方法
實例變量引用不可變final List<T> list = new ArrayList<>()
靜態變量編譯期常量static final int MAX = 100;
方法參數不可重賦值void foo(final int x) { ... }
💡 實戰建議:默認給變量加 final,除非確實需要重新賦值。這能減少可變狀態,降低並發 Bug,也讓代碼意圖更清晰。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved