Ошибка: неопределенный метод для типа <Interface>

Я реализую мультиагентную симуляцию с помощью Repast Symphony. Я получил следующую ошибку, которая, по моему мнению, не имеет ничего общего с платформой Repast. так что здесь идет:

У меня есть интерфейс:

public interface Located {
  public int getX();
  public int getY();
}

У меня есть два других класса, которые реализуют это:

public class Carrier implements Located{
  public int getX(){..}
  public int getY(){..} }

public class Gold implements Located{
  public int getX(){..}
  public int getY(){..} }

Также у меня есть класс LocateAdder, который реализует другой встроенный интерфейс:

public class LocateAdder<Located> implements GridAdder<Located> {


@Override
public void add(Grid<Located> destination, Located object) 
{
// TODO Auto-generated method stub
destination.moveTo(object, object.getX(), object.getY());

}
                                                                 }

Я не могу даже скомпилировать код. Я получаю красную линию под getX и getY, которая говорит: "Метод getX() не определен для типа Расположен". Я не уверен, почему это происходит, поскольку очевидно, что интерфейс имеет сигнатуру двух методов. Кто-нибудь может определить, что происходит? Спасибо за помощь в продвижении:)

1 ответ

Решение

+ Изменить

public class LocateAdder<Located> implements GridAdder<Located> {

в

public class LocateAdder implements GridAdder<Located> { 

В первом примере вы объявляете новую переменную типа с именем Located который затеняет тип, называемый Located,

Другие вопросы по тегам