The abstract method foo (E) in wtf.is.going.on cannot be directly accessed by super.foo (e) compilation using ANT

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

I get this error when compiling my project ANTusing an automatically generated build file ANTfrom ANDROID.

When I compile the same project in ECLIPSE, I get no problems. What's happening?


Here's what happens:

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
    }

}

Exact error output:

[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);
+3
source share
1 answer

If you switch

public void foo(DAO dao)

in DAOBImpl for

public void foo(E dao)

Does it work correctly?

+3
source

All Articles