Java:从超类型加载动态类注释
嗯,伙计们;我的问题是: 我目前有一个类扩展了另一个类,在每个类上都有一个gameinfo.class注释(有没有一种方法可以通过编译器强制实现这一点?) 理想情况下,我希望在其扩展的类型中调用以下内容:Java:从超类型加载动态类注释,java,annotations,classloader,superclass,Java,Annotations,Classloader,Superclass,嗯,伙计们;我的问题是: 我目前有一个类扩展了另一个类,在每个类上都有一个gameinfo.class注释(有没有一种方法可以通过编译器强制实现这一点?) 理想情况下,我希望在其扩展的类型中调用以下内容: @GameInfo(name = "Default Minigame", aliases = {"DM"}, pvp = false, authors = {"Tom"}, gameTime = 65, description = "desc") public class DefaultMi
@GameInfo(name = "Default Minigame", aliases = {"DM"}, pvp = false, authors = {"Tom"},
gameTime = 65, description = "desc")
public class DefaultMinigame extends Minigame {
public DefaultMinigame(Plugin p) {
super(p, DefaultMinigame.class.getAnnotation(GameInfo.class));
}
我不希望在每个类中都调用上述函数,而是在Minigame.class中调用它
如果不调用“this”(由于超级类型未初始化),如何执行此操作
谢谢你的时间!
(如果我说的不是最容易理解的问题,那么很抱歉)您不能强制子类具有注释。如果这对您很重要,您可以改用模板方法模式 但是如果需要使用注释,可以使用
class Minigame {
protected Minigame() {
GameInfo info = getClass().getAnnotation(GameInfo.class);
}
}
为什么不能在超类构造函数中使用
this
?就像在this.getClass().getAnnotation(GameInfo.class)
中一样?谢谢你-我觉得有人需要睡觉(我)我的脸太硬了!你会怎么做?老实说,当我意识到这一点时,我的脸上露出了笑容:受保护的迷你游戏(){GameInfo f=this.getClass().getAnnotation(GameInfo.class);