【发布时间】:2017-10-27 12:11:49
【问题描述】:
我有一个注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Component
@Scope("prototype")
public @interface Car {
}
还有一个抽象超类
public abstract class AbstractCar {
...
}
在这个类上效果很好:
@Car
public class MyBlueCar extends AbstractCar {
...
}
但是,我没有找到在实现中省略“extends AbstractCar”的方法。由于 Car 的所有实现都必须扩展 AbstractCar,因此我正在寻找一种解决方案以在自定义注释中包含“扩展 AbstractCar”。这样一个带有 @Car 注释的类也是一个 AbstractCar,没有在代码中用“扩展”部分明确提及它。
直到现在,我还没有成功;扩展@interface 似乎不合逻辑并且不起作用。
我的问题:这是否可能,如果可以,我该怎么做?
感谢您的任何建议和意见。
帕特里克
【问题讨论】:
-
你不能省略
extends -
我担心这就是答案。你能解释一下为什么注释不能处理“扩展”吗?
-
这只是语言设计。我要问你为什么要通过注解来处理?你是从哪里得到这个想法的?
-
我只是想到了冗余。为什么我需要写代码部分(
@Car和extends AbstractCar),虽然有可能一次性完成。 -
更正:为什么我需要编写两个代码部分...
标签: java annotations