Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
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.
  
  
    
Interfaces
    
  
  
    
      
        | AnnotatedElement | 
        
          Represents an annotated element of the program currently running in this
 VM. 
          
    
         | 
      
      
    
      
        | 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. 
          
    
         | 
      
      
    
  
  
  
    Classes
    
  
  
    
      
        | AccessibleObject | 
        
          The AccessibleObject class is the base class for Field, Method and
 Constructor 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 dynamic proxy
 classes and instances, and it is also the superclass of all
 dynamic proxy classes created by those methods. 
          
    
         | 
      
      
    
      
        | RecordComponent | 
        
          A RecordComponent provides information about, and dynamic access to, a
 component of a record class. 
          
    
         | 
      
      
    
      
        | ReflectPermission | 
        
          Legacy security code; do not use. 
          
    
         | 
      
      
    
  
  
  
  
    Exceptions
    
  
  
    
      
        | 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. 
          
    
         | 
      
      
    
  
  
  
    Errors
    
  
  
    
      
        | 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. 
          
    
         | 
      
      
    
  
  
 
  
  
    
    
    Interfaces
      
     
    
    Classes
      
     
    
    
    Exceptions
      
     
    
    Errors
      
     
  
  
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-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 2025-02-10 UTC."],[],[]]