0

我有一堂课叫:

  public class NXTCommAndroid implements NXTComm

Eclipse 给出以下红色错误

NXTCommAndroid 类型必须实现继承的抽象方法 NXTComm.search(String)

IDE 建议要么使类抽象,这是错误的,要么添加未实现的方法,这似乎很简单,除了方法已经实现。

它补充说:

//@Override
public NXTInfo[] search(String name) throws NXTCommException {
    // TODO Auto-generated method stub
    return null;
}

但这已经存在:

public NXTInfo[] search(String name, int protocol) throws NXTCommException {
    //stuff that would take up too much room
     }
4

1 回答 1

3

您需要使用完全相同的方法签名覆盖完全相同的方法。这意味着:相同的名称、相同的返回类型、相同的范围(公共、受保护、私有、无)以及相同的参数类型和数量。

因此,您的第二种方法public NXTInfo[] search(String name, int protocol) throws NXTCommException不算作public NXTInfo[] search(String name) throws NXTCommException.

你可以考虑做这样的事情:

@Override
public NXTInfo[] search(String name) throws NXTCommException {
    return search(name, myDefaultProtocolInt);
}

public NXTInfo[] search(String name, int protocol) throws NXTCommException {
    //stuff that would take up too much room
}
于 2013-05-26T22:11:00.987 回答