You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 15:07:12