2012-02-07 136 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参数) 。

相关问题