Android/Java报错:NfcCallback未实现抽象方法retornarId(String)
错误原因及解决办法:未实现抽象类的全部抽象方法
错误原因
NfcCallback是一个抽象类(或接口),其中包含两个抽象方法:retornarValor(String)和retornarId(String)。根据Java语法规则,创建匿名内部类实现抽象类/接口时,必须重写所有抽象方法。你目前只重写了retornarValor,遗漏了retornarId,因此编译器抛出该错误。
解决办法
有两种可行的解决方式:
方式一:补全未实现的抽象方法
在匿名内部类中添加retornarId的重写逻辑,示例代码如下:
public class MainActivity extends AppCompatActivity { private TextView txtReadedValue; private Apptest apptest; private PendingIntent pendingIntent; NfcCallback callback = new NfcCallback() { @Override public void retornarValor(String strValor) { txtReadedValue.setText(strValor); } @Override public void retornarId(String strId) { // 这里添加你需要的业务逻辑,比如显示ID到界面、打印日志等 // 如果暂时不需要具体逻辑,可以留空或抛出异常标记未实现 // throw new UnsupportedOperationException("retornarId 方法暂未实现"); } };
方式二:(仅适用于Java 8+及Android API 24+)使用默认方法
如果NfcCallback是接口,你可以在接口中给retornarId添加默认实现,这样实现类就不需要强制重写该方法:
public interface NfcCallback { void retornarValor(String strValor); // 添加默认实现 default void retornarId(String strId) { // 默认逻辑,比如空实现或基础处理 } }
注意:这种方式要求Android项目最低兼容API 24及以上,如果需要兼容更低版本,优先选择方式一。
内容的提问来源于stack exchange,提问作者João Pedro Leite de Oliveira
相关产品推荐
相关产品推荐

