Skip to content

Most visited

Recently visited

added in API level 1


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 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.


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


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. 
ReflectPermission Legacy security code; do not use. 


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. 


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. 
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)