# Hierarchy For Package java.lang.annotation

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.annotation.AnnotationFormatError
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.annotation.AnnotationTypeMismatchException
        - java.lang.annotation.IncompleteAnnotationException

## Interface Hierarchy

- java.lang.annotation.Annotation

## Annotation Type Hierarchy

- java.lang.annotation.Inherited (implements java.lang.annotation.Annotation)
- java.lang.annotation.Native (implements java.lang.annotation.Annotation)
- java.lang.annotation.Repeatable (implements java.lang.annotation.Annotation)
- java.lang.annotation.Target (implements java.lang.annotation.Annotation)
- java.lang.annotation.Retention (implements java.lang.annotation.Annotation)
- java.lang.annotation.Documented (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - java.lang.annotation.ElementType
    - java.lang.annotation.RetentionPolicy

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.