Java編程:淺析泛型類型中的橋接方法

一、什麼是橋接方法

在介紹橋接方法之前,我先介紹下泛型。在 JDK1.5 中引入了泛型,泛型類型是基於原始類型、類型擦除原理進行實現的。

原始類型
Java總是會自動的爲泛型類型提供一個相應的原始類型。所謂原始類型就是是指泛型的第一個限定類型(從左向右),無限定類型泛型的原始類型默認爲Object。

類型擦除
Java中泛型的實現原理是類型擦除(type erasure)。類型擦除是在編譯器進行代碼編譯這個階段進行的,在編譯的時候泛型的類型參數會被原始類型(raw type)所替代。

進入正題,給出橋接方法的定義。橋接方法是在父類、子類的繼承場景中出現的。父類是泛型類,且在該類中存在泛型方法。子類繼承父類,並實現泛型方法。如果在子類實現中不包含父類經過類型擦除後生成的原始類型方法,則編譯器會自動將該原始類型方法添加到子類中。這個被添加的原始類型方法我們稱之爲橋接方法。

二、橋接示例

1、定義泛型基類 Base

public interface Base<T> {
    /**
     *
     * @param t
     */
    void 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章