Java 继承类注释

Java 继承类注释,java,annotations,ejb-3.0,Java,Annotations,Ejb 3.0,有没有办法让类从超类继承注释 e、 g 子类不能继承类批注 您可以做的是“强制”子类在编译时使用注释: 类注释不能被子类继承,但非私有非构造函数成员方法和字段上的注释与它们关联的方法/字段一起被继承。因此,您可以尝试使用这些注释来达到预期效果。注释不是继承的。但是使用注释的框架(在本例中为EJB3)可以选择在类层次结构中导航,以查看它是否存在于超类中 查看:它有一个inherited属性,该属性精确地指示此注释是否也应应用于子类。当一个类被标记为一个注释,而该注释本身用java.lang.ann

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

e、 g


子类不能继承类批注

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


类注释不能被子类继承,但非私有非构造函数成员方法和字段上的注释与它们关联的方法/字段一起被继承。因此,您可以尝试使用这些注释来达到预期效果。

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


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

当一个类被标记为一个注释,而该注释本身用java.lang.annotation.inherited注释时,您可以请求类上的注释,继承的注释应该显示在结果中


ApplicationException未标记为继承。好吧。

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

指示注释类型是自动继承的。如果注释类型声明中存在继承的元注释,并且用户在类声明中查询注释类型,而该类声明中没有该类型的注释,则该类的超类将自动查询注释类型


由于它是我所追求的唯一一个类级注释,为了使AbstractBeanActionException的所有子类都引起回滚,我将对这些子类进行注释。注释处理器稍微超出了这一特定更改的范围,但我只是出于好奇而尝试。我对java类中缺少继承更为困惑,因为我对注释的理解是它们几乎都是编译时的元。链接断开了,这现在不是答案谢谢,至少我知道在升级到EJB3.1;)时,这将是一件值得期待的事情有关类似的答案,请参见JB Nizet,上面链接的文档中的3.1重要警告中添加了inherited:请注意,如果注释类型用于注释类以外的任何内容,则此元注释类型无效。还要注意,这个元注释只会导致注释从超类继承;已实现接口上的注释无效。
@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 ? */
}