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

为何RetrofitAPI类报"Missing method body, or declare abstract"错误?

解决RetrofitAPI类的"Missing method body, or declare abstract"错误

这个错误的核心原因是你把Retrofit的API定义写成了普通class,但Java普通类中的方法必须要么实现方法体,要么声明为抽象方法(同时类也要声明为abstract)。而Retrofit的API规范要求这类定义必须是接口(interface)——因为Retrofit会通过动态代理机制自动生成这些方法的实现逻辑,不需要你手动编写方法体。

修正后的代码如下:

package com.example.rvj;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Url;

public interface RetrofitAPI {
   @GET
    Call<NewsModal> getAllNews(@Url String url);

   @GET
    Call<NewsModal> getNewsByCategory(@Url String url);
}

至于其他环境能正常运行的可能情况:大概率是其他环境中该类被正确定义为interface,或者配置了Retrofit相关的注解处理器且生效,编译器自动处理了方法实现的生成,而当前环境可能存在类定义写错、注解处理器未配置等问题。

内容的提问来源于stack exchange,提问作者Bhupendra28

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:00:56