意图:带注释的类自动扩展超类



>我有一个注释

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Component
@Scope("prototype")
public @interface Car {
}

和一个抽象的超类

public abstract class AbstractCar {
    ...
}

这在此类上效果很好:

@Car
public class MyBlueCar extends AbstractCar {
    ...
}

但是,我没有找到在实现中省略"扩展抽象车"的方法。由于Car的所有实现都必须扩展AbstractCar,我正在寻找一种解决方案,在自定义注释中包含"扩展AbstractCar"。因此,用@Car注释的类也是一个 AbstractCar,而没有在代码中用"extends"部分明确提及它。

直到现在,我还没有成功;延长@interface似乎不合逻辑,也不起作用。

的问题:这是否可能,如果是,我该怎么做?

感谢您的任何建议和意见。

帕特里克

经过相当多的进一步研究和讨论,我想添加结果以使事情更加明显。

从技术上讲,这是不可能的,正如问题中已经评论的那样。原因:注释在运行时使用,而"扩展"部分在编译时使用。这两件事不能混为一谈。

意图是一个不幸的选择。当我的行为是所有汽车都应该共享的时,我无法提供注释。所以我需要代码中的"扩展"部分。

感谢所有帮助我理解的人。帕特里克

最新更新