2012-02-07 122 views
4
public abstract class Abc<T> { 
    public abstract void f1(T a); 
} 

abstract class Def<T> extends Abc { 

    @Override 
    public void f1(T a) { 
     System.out.print("f"); 
    } 

} 

這提供了以下錯誤: 「方法不覆蓋或實現從超的方法」重寫泛型方法的正確方法是什麼?

這裏有什麼問題?

回答

8

您的類定義需要表明您一般擴展父類。

abstract class Def<T> extends Abc<T> 

否則,編譯器或多或少假定你延長Abc<object>,使包括T參數的方法簽名不匹配從父類中的一個(因爲它使用了不同的T參數) 。

相關問題