我有一个叫做的课程:
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
}
答案 0 :(得分: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
}