Ошибка: неопределенный метод для типа <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
,