Я подозреваю, что у вас может быть два разных интерфейса I
. Убедитесь, что вы импортируете одни и те же файлы в оба файла.
Это именно та ошибка, которую вы получаете (из Eclipse), если вы случайно используете два разных интерфейса с одним и тем же именем.
The method bar(I) in the type Foo is not applicable for the arguments (A.B)
Для справки, это прекрасно для меня:
class A {
// stuff
public void test() {
new Foo().bar(new B());
}
public class B implements I {
}
}
interface I {
}
class Foo {
int bar(I i) {
return 0; // note that you need a return value for it to compile.
}
}