inheritance类注释

有没有办法让类inheritance超类的注释?

例如

@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 ? */ } 

子类不能inheritance类注释。

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

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

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

表示自动inheritance注释类型。 如果注释类型声明中存在Inherited元注释,并且用户在类声明上查询注释类型,并且类声明没有此类型的注释,则将自动查询类的超类以获取注释类型。

注释不是inheritance的。 但是使用注释(在本例中为EJB3)的框架可以选择在类层次结构中导航以查看它是否存在于超类中。

查看此批注的javadoc :它具有一个inherited属性,它精确地指示此批注是否也应该应用于子类。

类注释不能由子类inheritance,但非私有非构造函数成员方法和字段上的注释将与它们关联的方法/字段一起inheritance。 所以你可以尝试使用它们来达到预期的效果。

当一个类标记有一个注释,该注释本身用java.lang.annotation.Inherited注释时,您可以请求类上的注释,并且inheritance的注释应该显示在结果中。

ApplicationException未标记为Inherited。 呃,好吧。