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

Java 基礎筆記:泛型與枚舉類型詳細用法指南

     編輯:Java 綜合教學

Java 泛型與枚舉類型完整教程

一、泛型

泛型通過類型參數化實現代碼復用,同時編譯期檢查類型安全,避免運行時強轉異常。

1. 泛型類/接口定義

// 單類型參數
class Box<T> { ... }

// 多類型參數
class Map<K, V> { ... }

// 類型參數邊界
class Processor<T extends Number & Comparable> { ... }

邊界用 & 連接多個接口/類,限定類型參數必須滿足所有條件。

2. 實戰示例:多重邊界

class J_C1 { public void mb_methodA() { System.out.print("A"); } }
interface J_C2 { public void mb_methodB(); }
class J_C3 extends J_C1 implements J_C2 {
    public void mb_methodB() { System.out.print("B"); }
}
class J_T<T extends J_C1 & J_C2> {
    public void mb_method(T t) { t.mb_methodA(); t.mb_methodB(); }
}
public class J_Genericity {
    public static void main(String[] args) {
        new J_T<J_C3>().mb_method(new J_C3()); // 輸出 AB
    }
}

J_C3 同時具備 J_C1 和 J_C2 能力,滿足 T extends J_C1 & J_C2 約束。

二、枚舉

枚舉用於定義固定常量集合,本質是繼承 java.lang.Enum 的特殊類。

1. 基本定義

enum Season { SPRING, SUMMER, AUTUMN, WINTER }

2. 變量聲明與使用

Season s = Season.SPRING;
Season[] arr = Season.values(); // 獲取所有常量數組

3. 重要特性

  • 不能用 new 創建實例。
  • 可直接通過類名訪問常量:Season.SPRING。
  • 常量間可用 == 比較。
  • 提供 name() 與 toString() 返回常量名字符串。

4. 進階:帶字段與方法的枚舉

enum Color {
    RED("紅色", 0xFF0000),
    GREEN("綠色", 0x00FF00);
    private String cnName;
    private int rgb;
    Color(String cnName, int rgb) { this.cnName = cnName; this.rgb = rgb; }
    public String getCnName() { return cnName; }
}

三、總結

泛型解決「類型參數化」與「類型安全」;枚舉解決「固定常量集合」的類型安全與語義清晰。兩者均為 Java 5 引入的核心特性,現代 Java 開發不可或缺。

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