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

时间:2017-10-27 12:11:50

标签: java annotations

我有一个注释

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

和抽象超类

public abstract class AbstractCar {
    ...
}

在这个课上非常有效:

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

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

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

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

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

帕特里克

1 个答案:

答案 0 :(得分:0)

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

从技术上讲,这是不可能的,正如问题已经评论过的那样。 原因:注释在运行时使用,而“extends”部分在编译时使用。这两件事情无法混合。

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

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