Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

I get that error when compiling my project with ANT using the auto generated ANT build file from ANDROID.

When i compile the same project in ECLIPSE, i do not get any issues. What is happening?


Here is what is going on:

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);
like image 315
prolink007 Avatar asked Sep 06 '25 23:09

prolink007


1 Answers

If you switch

public void foo(DAO dao)

in DAOBImpl to

public void foo(E dao)

Does it work properly?

like image 92
Justin Breitfeller Avatar answered Sep 08 '25 23:09

Justin Breitfeller