Stay organized with collections
Save and categorize content based on your preferences.
AI-generated Key Takeaways
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.
Returns the hash code of this annotation, as defined below:
The hash code of an annotation is the sum of the hash codes
of its members (including those with default values), as defined
below:
The hash code of an annotation member is (127 times the hash code
of the member-name as computed by String.hashCode()) XOR
the hash code of the member-value, as defined below:
The hash code of a member-value depends on its type:
The hash code of a primitive value v is equal to
WrapperType.valueOf(v).hashCode(), where
WrapperType is the wrapper type corresponding
to the primitive type of v (Byte,
Character, Double, Float, Integer,
Long, Short, or Boolean).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[],["The `@Inherited` annotation signifies automatic inheritance of an annotation type. When queried on a class without the annotation, the superclass is checked. This continues up the hierarchy until the annotation is found or the `Object` class is reached. If no superclass has the annotation, the query indicates its absence. This inheritance only applies to classes and not to implemented interfaces. The annotation also includes `annotationType`, `equals`, `hashCode`, and `toString` methods.\n"]]