继承类注释

2022-09-02 11:49:01

有没有办法让类从超类继承注释?

例如:

@ApplicationException(rollback=true)
public abstract class AbstractBeanActionException extends Exception {
    /* method body is simply calls to super() */
}

public class OrderBeanException extends AbstractBeanActionException {
    /* does this class have to be annotated as well ? */
}

答案 1

如果您自己定义注解类,则可以使用元注记:@Inherited

指示批注类型自动继承。如果批注类型声明上存在继承的元批注,并且用户在类声明上查询该批注类型,并且该类声明没有针对此类型的批注,则将自动查询类的超类以获取该批注类型。


答案 2

类注记不能由子类继承。

您可以做的是在编译时“强制”子类使用注释:

https://community.oracle.com/docs/DOC-983563


推荐