我想为我的游戏制作一个api,并在您必须拥有的部分中运行api:

@GameApi
public void run(){
    // what you want to do with my game
 }


GameApi类如下:

public @interface GameApi {


}


而且我不知道如何使用GameApi注释使main方法运行项目中的每个方法。 Ive还尝试将@Retention(RetentionPolicy.RUNTIME)放在public @interface GameApi上方
但是当我导入它时,它说不能将RetentionPolicy解析为一个变量

最佳答案

您将通过反射进行此操作,例如:

Object x = ...;
for (Method m : x.getClass().getDeclaredMethods()) {
    if (m.getAnnotation(GameApi.class)!=null) {
        m.invoke(x);
    }
}

10-06 13:08