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

Java 核心類庫 java.lang 包深度解析:介面、類別與命名規範

     編輯:Java 相關知識

前言

java.lang 是 Java 程式自動匯入的核心套件,定義了語言運行的基礎契約。本文系統整理其中關鍵介面與類別,並解析類別命名的三種形式(完整限定名、規範名、二進位名),協助開發者深入理解 Java 型別系統基石。

核心介面

介面用途關鍵實作類別
Appendable字元追加目標,Formatter 輸出目的地StringBuilder, StringBuffer, PrintStream, Writer
CharSequence唯讀字元序列統一存取String, StringBuilder, StringBuffer
Cloneable標記介面,允許 Object.clone() 浅層複製自訂類別實作
Comparable<T>自然排序契約,回傳負/零/正代表小於/等於/大於String, Integer, Date, 自訂類別
Iterable<T>支援增強 for 迴圈 (for (E e : coll))Collection, 自訂容器
Runnable執行緒任務單元,Thread 建構子參數Thread, 自訂任務
Readable字元輸入來源BufferedReader, InputStreamReader
Thread.UncaughtExceptionHandler執行緒未捕獲例外處理器自訂處理邏輯

基本型別包裝類別

八大基本型別對應包裝類別,提供型別轉換、常數、解析/格式化等工具方法:

  • Boolean, Byte, Character, Short, Integer, Long, Float, Double

Character 補充字元支援 (UTF-16)

Java char 為 UTF-16 碼元。補充字元 (Supplementary Characters, U+10000~U+10FFFF) 由「高位代理碼元」(High Surrogate, U+D800~U+DBFF) 與「低位代理碼元」(Low Surrogate, U+DC00~U+DFFF) 組成:

int codePoint = (high - 0xD800) << 10 + (low - 0xDC00) + 0x10000;

處理字串時建議使用 codePointAt(), codePointCount(), toChars() 等碼點級 API,避免將代理碼元視為獨立字元。

核心類別

Class<T> — 運行期型別標誌

  • 每個載入的類別/介面/基本型別/陣列在 JVM 對應唯一 Class 實例
  • 無公共建構子,由 ClassLoader 實例化
  • 提供反射入口:getMethods(), getFields(), newInstance() 等

ClassLoader — 類別載入器

  • 雙親委派模型:子載入器委派父載入器優先載入,避免核心類別被竄改
  • 三種命名形式(以 org.javaplus.jdkoverview.SubClass.InnerClass 為例):
命名形式範例用途
完整限定名 (Fully Qualified Name)org.javaplus.jdkoverview.SubClass.InnerClass原始碼引用、Javadoc
規範名 (Canonical Name)org.javaplus.jdkoverview.OuterClass.InnerClassClass.getCanonicalName(),人類可讀
二進位名 (Binary Name)org.javaplus.jdkoverview.OuterClass$InnerClass.class 檔名、JVM 內部、Class.forName() 參數

Compiler — JIT 佔位符

僅為 JIT 編譯器佔位符,若 JVM 啟動未載入 JIT 則不作用。應用程式不應直接呼叫。

巢狀類別命名實例

package org.javaplus.jdkoverview;
public class OuterClass {
    public class InnerClass { }
}
public class SubClass extends OuterClass { }

SubClass.InnerClass (繼承自 OuterClass) 的三種名稱:

  • FQN: org.javaplus.jdkoverview.SubClass.InnerClass
  • Canonical: org.javaplus.jdkoverview.OuterClass.InnerClass
  • Binary: org.javaplus.jdkoverview.OuterClass$InnerClass

實用工具類別

  • System:標準輸入/輸出/錯誤、屬性、環境變數、arraycopy(), currentTimeMillis(), gc()
  • Math / StrictMath:數學函數
  • String / StringBuilder / StringBuffer:字串處理
  • Thread / ThreadGroup / ThreadLocal:執行緒相關
  • Throwable / Error / Exception / RuntimeException:例外體系
  • Package:套件版本資訊
  • Process / ProcessBuilder:外部程序控制
  • Runtime:運行環境單例
  • SecurityManager:安全沙箱(舊版 Applet 相關)
  • StackWalker (JDK 9+):高效堆疊追蹤

總結

java.lang 定義了 Java 型別系統的骨架。熟悉核心介面契約、包裝類別細節、Class/ClassLoader 機制與三種命名形式,對反射、動態載入、序列化、模組化開發至關重要。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved