错误:类型<interface> </interface>的未定义方法

时间:2014-06-17 01:40:16

标签: java 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下得到红线,表示&#34;方法getX()未定义类型为Location&#34;。我不确定为什么会发生这种情况,因为界面显然具有两种方法的签名。任何人都可以发现发生了什么事?感谢您的帮助:)

1 个答案:

答案 0 :(得分:5)

更改

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

public class LocateAdder implements GridAdder<Located> { 

在第一个示例中,您声明了一个名为Located的新类型变量,该变量隐藏了名为Located的类型。