Inherited
Stay organized with collections
Save and categorize content based on your preferences.
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
From interface
java.lang.annotation.Annotation
abstract
Class<? extends Annotation>
|
|
abstract
boolean
|
equals( Object obj)
Returns true if the specified object represents an annotation
that is logically equivalent to this one.
|
abstract
int
|
hashCode()
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:
|
abstract
String
|
toString()
Returns a string representation of this annotation.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["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."],[[["\u003cp\u003eThe \u003ccode\u003e@Inherited\u003c/code\u003e annotation meta-annotation signifies that an annotation type will be automatically inherited from a superclass if it is not present on a class declaration.\u003c/p\u003e\n"],["\u003cp\u003eThe inheritance process for \u003ccode\u003e@Inherited\u003c/code\u003e 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.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003e@Inherited\u003c/code\u003e meta-annotation only applies to class annotations and has no effect on annotations applied to anything other than a class, nor on implemented interfaces.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eannotationType()\u003c/code\u003e method returns the annotation type of the annotation, while \u003ccode\u003eequals()\u003c/code\u003e method checks for logical equivalence, and \u003ccode\u003ehashCode()\u003c/code\u003e method returns a computed value based on its members.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003etoString()\u003c/code\u003e method returns a string representation of the given annotation.\u003c/p\u003e\n"]]],["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"],null,["# Inherited\n\npublic abstract @interface **Inherited** implements [Annotation](../../../../reference/java/lang/annotation/Annotation.html) \nIndicates that an annotation type is automatically inherited. If\nan Inherited meta-annotation is present on an annotation type\ndeclaration, and the user queries the annotation type on a class\ndeclaration, and the class declaration has no annotation for this type,\nthen the class's superclass will automatically be queried for the\nannotation type. This process will be repeated until an annotation for this\ntype is found, or the top of the class hierarchy (Object)\nis reached. If no superclass has an annotation for this type, then\nthe query will indicate that the class in question has no such annotation.\n\nNote that this meta-annotation type has no effect if the annotated\ntype is used to annotate anything other than a class. Note also\nthat this meta-annotation only causes annotations to be inherited\nfrom superclasses; annotations on implemented interfaces have no\neffect. \n\n### Inherited Method Summary\n\nFrom interface [java.lang.annotation.Annotation](../../../../reference/java/lang/annotation/Annotation.html) \n\n|----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Class](../../../../reference/java/lang/Class.html)\\\u003c? extends [Annotation](../../../../reference/java/lang/annotation/Annotation.html)\\\u003e | [annotationType](../../../../reference/java/lang/annotation/Annotation.html#annotationType())() Returns the annotation type of this annotation. |\n| abstract boolean | [equals](../../../../reference/java/lang/annotation/Annotation.html#equals(java.lang.Object))([Object](../../../../reference/java/lang/Object.html) obj) Returns true if the specified object represents an annotation that is logically equivalent to this one. |\n| abstract int | [hashCode](../../../../reference/java/lang/annotation/Annotation.html#hashCode())() 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()](../../../../reference/java/lang/String.html#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](../../../../reference/java/lang/Byte.html), [Character](../../../../reference/java/lang/Character.html), [Double](../../../../reference/java/lang/Double.html), [Float](../../../../reference/java/lang/Float.html), [Integer](../../../../reference/java/lang/Integer.html), [Long](../../../../reference/java/lang/Long.html), [Short](../../../../reference/java/lang/Short.html), or [Boolean](../../../../reference/java/lang/Boolean.html)). |\n| abstract [String](../../../../reference/java/lang/String.html) | [toString](../../../../reference/java/lang/annotation/Annotation.html#toString())() Returns a string representation of this annotation. |"]]