# Hierarchy For Package java.lang.reflect

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.reflect.AccessibleObject (implements java.lang.reflect.AnnotatedElement)
    - java.lang.reflect.Executable (implements java.lang.reflect.GenericDeclaration, java.lang.reflect.Member)
      - java.lang.reflect.Constructor<T>
      - java.lang.reflect.Method
    - java.lang.reflect.Field (implements java.lang.reflect.Member)
  - java.lang.reflect.Array
  - java.lang.reflect.Modifier
  - java.lang.reflect.Parameter (implements java.lang.reflect.AnnotatedElement)
  - java.security.Permission (implements java.security.Guard, java.io.Serializable)
    - java.security.BasicPermission (implements java.io.Serializable)
      - java.lang.reflect.ReflectPermission
  - java.lang.reflect.Proxy (implements java.io.Serializable)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.LinkageError
        - java.lang.ClassFormatError
          - java.lang.reflect.GenericSignatureFormatError
    - java.lang.Exception
      - java.lang.ReflectiveOperationException
        - java.lang.reflect.InvocationTargetException
      - java.lang.RuntimeException
        - java.lang.reflect.InaccessibleObjectException
        - java.lang.reflect.MalformedParameterizedTypeException
        - java.lang.reflect.MalformedParametersException
        - java.lang.reflect.UndeclaredThrowableException

## Interface Hierarchy

- java.lang.reflect.AnnotatedElement
  - java.lang.reflect.AnnotatedType
    - java.lang.reflect.AnnotatedArrayType
    - java.lang.reflect.AnnotatedParameterizedType
    - java.lang.reflect.AnnotatedTypeVariable
    - java.lang.reflect.AnnotatedWildcardType
  - java.lang.reflect.GenericDeclaration
  - java.lang.reflect.TypeVariable<D> (also extends java.lang.reflect.Type)
- java.lang.reflect.InvocationHandler
- java.lang.reflect.Member
- java.lang.reflect.Type
  - java.lang.reflect.GenericArrayType
  - java.lang.reflect.ParameterizedType
  - java.lang.reflect.TypeVariable<D> (also extends java.lang.reflect.AnnotatedElement)
  - java.lang.reflect.WildcardType