Module java.base

Package java.lang.reflect

Provides classes and interfaces for obtaining reflective information about classes and objects. Reflection allows programmatic access to information about the fields, methods and constructors of loaded classes, and the use of reflected fields, methods, and constructors to operate on their underlying counterparts, within encapsulation and security restrictions.

AccessibleObject allows suppression of access checks if the necessary ReflectPermission is available.

Array provides static methods to dynamically create and access arrays.

Classes in this package, along with java.lang.Class accommodate applications such as debuggers, interpreters, object inspectors, class browsers, and services such as Object Serialization and JavaBeans that need access to either the public members of a target object (based on its runtime class) or the members declared by a given class.

Since:
1.1
  • Interface Summary 
    Interface Description
    AnnotatedArrayType
    AnnotatedArrayType represents the potentially annotated use of an array type, whose component type may itself represent the annotated use of a type.
    AnnotatedElement
    Represents an annotated element of the program currently running in this VM.
    AnnotatedParameterizedType
    AnnotatedParameterizedType represents the potentially annotated use of a parameterized type, whose type arguments may themselves represent annotated uses of types.
    AnnotatedType
    AnnotatedType represents the potentially annotated use of a type in the program currently running in this VM.
    AnnotatedTypeVariable
    AnnotatedTypeVariable represents the potentially annotated use of a type variable, whose declaration may have bounds which themselves represent annotated uses of types.
    AnnotatedWildcardType
    AnnotatedWildcardType represents the potentially annotated use of a wildcard type argument, whose upper or lower bounds may themselves represent annotated uses of types.
    GenericArrayType
    GenericArrayType represents an array type whose component type is either a parameterized type or a type variable.
    GenericDeclaration
    A common interface for all entities that declare type variables.
    InvocationHandler
    InvocationHandler is the interface implemented by the invocation handler of a proxy instance.
    Member
    Member is an interface that reflects identifying information about a single member (a field or a method) or a constructor.
    ParameterizedType
    ParameterizedType represents a parameterized type such as Collection<String>.
    Type
    Type is the common superinterface for all types in the Java programming language.
    TypeVariable<D extends GenericDeclaration>
    TypeVariable is the common superinterface for type variables of kinds.
    WildcardType
    WildcardType represents a wildcard type expression, such as ?, ? extends Number, or ? super Integer.
  • Class Summary 
    Class Description
    AccessibleObject
    The AccessibleObject class is the base class for Field, Method, and Constructor objects (known as reflected objects).
    Array
    The Array class provides static methods to dynamically create and access Java arrays.
    Constructor<T>
    Constructor provides information about, and access to, a single constructor for a class.
    Executable
    A shared superclass for the common functionality of Method and Constructor.
    Field
    A Field provides information about, and dynamic access to, a single field of a class or an interface.
    Method
    A Method provides information about, and access to, a single method on a class or interface.
    Modifier
    The Modifier class provides static methods and constants to decode class and member access modifiers.
    Parameter
    Information about method parameters.
    Proxy
    Proxy provides static methods for creating objects that act like instances of interfaces but allow for customized method invocation.
    RecordComponent
    Associated with records, a preview feature of the Java language.

    A RecordComponent provides information about, and dynamic access to, a component of a record class.
    ReflectPermission
    The Permission class for reflective operations.
  • Exception Summary 
    Exception Description
    InaccessibleObjectException
    Thrown when Java language access checks cannot be suppressed.
    InvocationTargetException
    InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or constructor.
    MalformedParameterizedTypeException
    Thrown when a semantically malformed parameterized type is encountered by a reflective method that needs to instantiate it.
    MalformedParametersException
    Thrown when the java.lang.reflect package attempts to read method parameters from a class file and determines that one or more parameters are malformed.
    UndeclaredThrowableException
    Thrown by a method invocation on a proxy instance if its invocation handler's invoke method throws a checked exception (a Throwable that is not assignable to RuntimeException or Error) that is not assignable to any of the exception types declared in the throws clause of the method that was invoked on the proxy instance and dispatched to the invocation handler.
  • Error Summary 
    Error Description
    GenericSignatureFormatError
    Thrown when a syntactically malformed signature attribute is encountered by a reflective method that needs to interpret the generic signature information for a type, method or constructor.