Inherited

  • The @Inherited annotation meta-annotation signifies that an annotation type will be automatically inherited from a superclass if it is not present on a class declaration.

  • The inheritance process for @Inherited continues up the class hierarchy until the annotation is found or the top of the hierarchy (Object) is reached, and it will return that the class has no such annotation otherwise.

  • The @Inherited meta-annotation only applies to class annotations and has no effect on annotations applied to anything other than a class, nor on implemented interfaces.

  • The annotationType() method returns the annotation type of the annotation, while equals() method checks for logical equivalence, and hashCode() method returns a computed value based on its members.

  • The toString() method returns a string representation of the given annotation.

public abstract @interface Inherited implements Annotation

Indicates that an annotation type is automatically inherited. If an Inherited meta-annotation is present on an annotation type declaration, and the user queries the annotation type on a class declaration, and the class declaration has no annotation for this type, then the class's superclass will automatically be queried for the annotation type. This process will be repeated until an annotation for this type is found, or the top of the class hierarchy (Object) is reached. If no superclass has an annotation for this type, then the query will indicate that the class in question has no such annotation.

Note that this meta-annotation type has no effect if the annotated type is used to annotate anything other than a class. Note also that this meta-annotation only causes annotations to be inherited from superclasses; annotations on implemented interfaces have no effect.

Inherited Method Summary