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 ? */ }
如果您自己定义注释类,则可以使用@Inherited元注释:
表示自动inheritance注释类型。 如果注释类型声明中存在Inherited元注释,并且用户在类声明上查询注释类型,并且类声明没有此类型的注释,则将自动查询类的超类以获取注释类型。
注释不是inheritance的。 但是使用注释(在本例中为EJB3)的框架可以选择在类层次结构中导航以查看它是否存在于超类中。
查看此批注的javadoc :它具有一个inherited
属性,它精确地指示此批注是否也应该应用于子类。
类注释不能由子类inheritance,但非私有非构造函数成员方法和字段上的注释将与它们关联的方法/字段一起inheritance。 所以你可以尝试使用它们来达到预期的效果。
当一个类标记有一个注释,该注释本身用java.lang.annotation.Inherited注释时,您可以请求类上的注释,并且inheritance的注释应该显示在结果中。
ApplicationException未标记为Inherited。 呃,好吧。