wtf.is.going.on中的抽象方法foo(E)无法直接访问super.foo(e)使用ANT编译

时间:2012-04-24 15:06:19

标签: java android eclipse generics ant

abstract method foo(E) in wtf.is.going.on cannot be accessed directly super.foo(e)

使用ANT中自动生成的ANT构建文件,使用ANDROID编译项目时出现错误。

当我在ECLIPSE编译同一个项目时,我没有遇到任何问题。发生了什么事?


以下是发生的事情:

package wtf.is.going.on;
public interface DAOMutator<E> {

    public void foo(E e);

}

package wtf.is.going.on;
public class DAOBImpl<E extends DAO> implements DAOMutator<E> {

    @Override
    public void foo(DAO dao) {
        //do some stuff
    }

}

package wtf.is.going.on.more;
public class VMBImpl <E extends someDao> extends DAOBImpl<E> {

    @Override
    public void foo(E e) {
    super.foo(e); // ERROR OCCURS HERE
    }

}

确切的错误输出:

[javac] MYPATH\src\wtf\is\going\on\more\VMBImpl.java:6: abstract method foo(E) in wtf.is.going.on.DAOMutator cannot be accessed directly
[javac]             super.foo(e);

1 个答案:

答案 0 :(得分:3)

如果切换

public void foo(DAO dao)

在DAOBImpl中

public void foo(E dao)

它运作正常吗?