| java.lang.Object | |
| ↳ | java.lang.Class<T> | 
       The in-memory representation of a Java class. This representation serves as
 the starting point for querying class-related information, a process usually
 called "reflection". There are basically three types of
       
        Class
       
       instances: those representing real classes and interfaces, those representing
 primitive types, and those representing array classes.
       
       These represent an ordinary class or interface as found in the class
 hierarchy. The name associated with these
       
        Class
       
       instances is simply
 the fully qualified class name of the class or interface that it represents.
 In addition to this human-readable name, each class is also associated by a
 so-called
       
        signature
       
       , which is the letter "L", followed by the
 class name and a semicolon (";"). The signature is what the runtime system
 uses internally for identifying the class (for example in a DEX file).
      
       These represent the standard Java primitive types and hence share their
 names (for example "int" for the
       
        int
       
       primitive type). Although it is
 not possible to create new instances based on these
       
        Class
       
       instances,
 they are still useful for providing reflection information, and as the
 component type of array classes. There is one
       
        Class
       
       instance for each
 primitive type, and their signatures are:
      
         B
        
        representing the
        
         byte
        
        primitive type
       
         S
        
        representing the
        
         short
        
        primitive type
       
         I
        
        representing the
        
         int
        
        primitive type
       
         J
        
        representing the
        
         long
        
        primitive type
       
         F
        
        representing the
        
         float
        
        primitive type
       
         D
        
        representing the
        
         double
        
        primitive type
       
         C
        
        representing the
        
         char
        
        primitive type
       
         Z
        
        representing the
        
         boolean
        
        primitive type
       
         V
        
        representing void function return values
       
       These represent the classes of Java arrays. There is one such
       
        Class
       
       instance per combination of array leaf component type and arity (number of
 dimensions). In this case, the name associated with the
       
        Class
       
       consists of one or more left square brackets (one per dimension in the array)
 followed by the signature of the class representing the leaf component type,
 which can be either an object type or a primitive type. The signature of a
       
        Class
       
       representing an array type is the same as its name. Examples
 of array class signatures are:
      
         [I
        
        representing the
        
         int[]
        
        type
       
         [Ljava/lang/String;
        
        representing the
        
         String[]
        
        type
       
         [[[C
        
        representing the
        
         char[][][]
        
        type (three dimensions!)
       | Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | 
          Casts this
           
           Class
          to represent a subclass of the given class. | ||||||||||
|  | 
          Casts the given object to the type represented by this
           
           Class
          . | ||||||||||
|  | 
          Returns the assertion status for the class represented by this
           
           Class
          . | ||||||||||
|  | 
          Returns a
           
           Class
          object which represents the class with the
 given name. | ||||||||||
|  | 
          Returns a
           
           Class
          object which represents the class with the
 given name. | ||||||||||
|  |  | ||||||||||
|  | 
          Returns an array containing all the annotations of this class.
          | ||||||||||
|  | 
          Returns the canonical name of this class.
          | ||||||||||
|  | 
          Returns the class loader which was used to load the class represented by
 this
           
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           Class
          objects for all public classes
 and interfaces that are members of this class. | ||||||||||
|  | 
          Returns a
           
           Class
          object which represents the component type if
 this class represents an array type. | ||||||||||
|  | 
          Returns a
           
           Constructor
          object which represents the public
 constructor matching the given parameter types. | ||||||||||
|  | 
          Returns an array containing
           
           Constructor
          objects for all public
 constructors for this
           Class
          . | ||||||||||
|  | 
          Returns the annotations that are directly defined on the class
 represented by this
           
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           Class
          objects for all classes and
 interfaces that are declared as members of the class which this
           Class
          represents. | ||||||||||
|  | 
          Returns a
           
           Constructor
          object which represents the constructor
 matching the given parameter types that is declared by the class
 represented by this
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           Constructor
          objects for all
 constructors declared in the class represented by this
           Class
          . | ||||||||||
|  | 
          Returns a
           
           Field
          object for the field with the given name
 which is declared in the class represented by this
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           Field
          objects for all fields declared
 in the class represented by this
           Class
          . | ||||||||||
|  | 
          Returns a
           
           Method
          object which represents the method matching the
 given name and parameter types that is declared by the class
 represented by this
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           Method
          objects for all methods
 declared in the class represented by this
           Class
          . | ||||||||||
|  | 
          Returns the declaring
           
           Class
          of this
           Class
          . | ||||||||||
|  | 
          Returns the enclosing
           
           Class
          of this
           Class
          . | ||||||||||
|  | 
          Returns the enclosing
           
           Constructor
          of this
           Class
          , if it is an
 anonymous or local/automatic class; otherwise
           null
          . | ||||||||||
|  | 
          Returns the enclosing
           
           Method
          of this
           Class
          , if it is an
 anonymous or local/automatic class; otherwise
           null
          . | ||||||||||
|  | 
          Returns the
           
           enum
          constants associated with this
           Class
          . | ||||||||||
|  | 
          Returns a
           
           Field
          object which represents the public field with the
 given name. | ||||||||||
|  | 
          Returns an array containing
           
           Field
          objects for all public fields
 for the class C represented by this
           Class
          . | ||||||||||
|  | 
          Returns the
           
           
            Type
           
          s of the interfaces that this
           Class
          directly
 implements. | ||||||||||
|  | 
          Returns the
           
           Type
          that represents the superclass of this
           class
          . | ||||||||||
|  | 
          Returns an array of
           
           Class
          objects that match the interfaces
 in the
           implements
          declaration of the class represented
 by this
           Class
          . | ||||||||||
|  | 
          Returns a
           
           Method
          object which represents the public method with
 the given name and parameter types. | ||||||||||
|  | 
          Returns an array containing
           
           Method
          objects for all public methods
 for the class C represented by this
           Class
          . | ||||||||||
|  | 
          Returns an integer that represents the modifiers of the class represented
 by this
           
           Class
          . | ||||||||||
|  | 
          Returns the name of the class represented by this
           
           Class
          . | ||||||||||
|  | 
          Returns the
           
           Package
          of which the class represented by this
           Class
          is a member. | ||||||||||
|  | 
          Returns null.
          | ||||||||||
|  | 
          Returns the URL of the given resource, or null if the resource is not found.
          | ||||||||||
|  | 
          Returns a read-only stream for the contents of the given resource, or null if the resource
 is not found.
          | ||||||||||
|  | 
          Returns null.
          | ||||||||||
|  | 
          Returns the simple name of the class represented by this
           
           Class
          as
 defined in the source code. | ||||||||||
|  | 
          Returns the
           
           Class
          object which represents the superclass of the
 class represented by this
           Class
          . | ||||||||||
|  | 
          Returns an array containing
           
           TypeVariable
          objects for type
 variables declared by the generic class represented by this
           Class
          . | ||||||||||
|  | 
          Tests whether this
           
           Class
          represents an annotation class. | ||||||||||
|  | 
          Indicates whether or not this element has an annotation with the
 specified annotation type (including inherited annotations).
          | ||||||||||
|  | 
          Tests whether the class represented by this
           
           Class
          is
 anonymous. | ||||||||||
|  | 
          Tests whether the class represented by this
           
           Class
          is an array class. | ||||||||||
|  | 
          Tests whether the given class type can be converted to the class
 represented by this
           
           Class
          . | ||||||||||
|  | 
          Tests whether the class represented by this
           
           Class
          is an
           enum
          . | ||||||||||
|  | 
          Tests whether the given object can be cast to the class
 represented by this
           
           Class
          . | ||||||||||
|  | 
          Tests whether this
           
           Class
          represents an interface. | ||||||||||
|  | 
          Tests whether the class represented by this
           
           Class
          is defined
 locally. | ||||||||||
|  | 
          Tests whether the class represented by this
           
           Class
          is a member
 class. | ||||||||||
|  | 
          Tests whether this
           
           Class
          represents a primitive type. | ||||||||||
|  | 
          Tests whether this
           
           Class
          represents a synthetic type. | ||||||||||
|  | 
          Returns a new instance of the class represented by this
           
           Class
          ,
 created by invoking the default (that is, zero-argument) constructor. | ||||||||||
|  | 
          Returns a string containing a concise, human-readable description of this
 object.
          | ||||||||||
| [Expand] 
          Inherited Methods
          | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class
         
          java.lang.Object | |||||||||||
|  From interface
         
          java.lang.reflect.AnnotatedElement | |||||||||||
|  From interface
         
          java.lang.reflect.GenericDeclaration | |||||||||||
         Casts this
         
          Class
         
         to represent a subclass of the given class.
 If successful, this
         
          Class
         
         is returned; otherwise a
         
          ClassCastException
         
         is thrown.
        
| ClassCastException | if this 
            Class
           cannot be cast to the given type. | 
|---|
         Casts the given object to the type represented by this
         
          Class
         
         .
 If the object is
         
          null
         
         then the result is also
         
          null
         
         .
        
| ClassCastException | if the object cannot be cast to the given type. | 
|---|
         Returns the assertion status for the class represented by this
         
          Class
         
         . Assertion is enabled / disabled based on the class loader,
 package or class default at runtime.
        
         Returns a
         
          Class
         
         object which represents the class with the
 given name. The name should be the name of a non-primitive class, as described in
 the
         
          
           class definition
          
         
         .
 Primitive types can not be found using this method; use
         
          int.class
         
         or
         
          Integer.TYPE
         
         instead.
        
         If the class has not yet been loaded, it is loaded first, using the given class loader.
 If the class has not yet been initialized and
         
          shouldInitialize
         
         is true,
 the class will be initialized.
        
| ClassNotFoundException | if the requested class can not be found. | 
|---|---|
| LinkageError | if an error occurs during linkage | 
| ExceptionInInitializerError | if an exception occurs during static initialization of a class. | 
         Returns a
         
          Class
         
         object which represents the class with the
 given name. The name should be the name of a non-primitive class, as described in
 the
         
          
           class definition
          
         
         .
 Primitive types can not be found using this method; use
         
          int.class
         
         or
         
          Integer.TYPE
         
         instead.
        
If the class has not yet been loaded, it is loaded and initialized first. This is done through either the class loader of the calling class or one of its parent class loaders. It is possible that a static initializer is run as a result of this call.
| ClassNotFoundException | if the requested class can not be found. | 
|---|---|
| LinkageError | if an error occurs during linkage | 
| ExceptionInInitializerError | if an exception occurs during static initialization of a class. | 
Returns an array containing all the annotations of this class. If there are no annotations then an empty array is returned.
         Returns the canonical name of this class. If this class does not have a
 canonical name as defined in the Java Language Specification, then the
 method returns
         
          null
         
         .
        
         Returns the class loader which was used to load the class represented by
 this
         
          Class
         
         . Implementations are free to return
         
          null
         
         for
 classes that were loaded by the bootstrap class loader. The Android
 reference implementation, though, always returns a reference to an actual
 class loader.
        
         Returns an array containing
         
          Class
         
         objects for all public classes
 and interfaces that are members of this class. This includes public
 members inherited from super classes and interfaces. If there are no such
 class members or if this object represents a primitive type then an array
 of length 0 is returned.
        
         Returns a
         
          Class
         
         object which represents the component type if
 this class represents an array type. Returns
         
          null
         
         if this class
 does not represent an array type. The component type of an array type is
 the type of the elements of the array.
        
         Returns a
         
          Constructor
         
         object which represents the public
 constructor matching the given parameter types.
         
          (Class[]) null
         
         is equivalent to the empty array.
        
         See
         
          
            ?>
           ...)">getMethod(String, Class
            ?>
           ...)
          
         
         for details of the search order.
 Use
         
          
            ?>
           ...)">getDeclaredConstructor(Class
            ?>
           ...)
          
         
         if you don't want to search superclasses.
        
| NoSuchMethodException | if the constructor can not be found. | 
|---|
         Returns an array containing
         
          Constructor
         
         objects for all public
 constructors for this
         
          Class
         
         . If there
 are no public constructors or if this
         
          Class
         
         represents an array
 class, a primitive type or void then an empty array is returned.
        
         Returns the annotations that are directly defined on the class
 represented by this
         
          Class
         
         . Annotations that are inherited are not
 included in the result. If there are no annotations at all, an empty
 array is returned.
        
         Returns an array containing
         
          Class
         
         objects for all classes and
 interfaces that are declared as members of the class which this
         
          Class
         
         represents. If there are no classes or interfaces declared or if
 this class represents an array class, a primitive type or void, then an
 empty array is returned.
        
         Returns a
         
          Constructor
         
         object which represents the constructor
 matching the given parameter types that is declared by the class
 represented by this
         
          Class
         
         .
         
          (Class[]) null
         
         is equivalent to the empty array.
        
         Use
         
          
            ?>
           ...)">getConstructor(Class
            ?>
           ...)
          
         
         if you want to search superclasses.
        
| NoSuchMethodException | if the requested constructor can not be found. | 
|---|
         Returns an array containing
         
          Constructor
         
         objects for all
 constructors declared in the class represented by this
         
          Class
         
         . If
 there are no constructors or if this
         
          Class
         
         represents an array
 class, a primitive type, or void then an empty array is returned.
        
         Returns a
         
          Field
         
         object for the field with the given name
 which is declared in the class represented by this
         
          Class
         
         .
        
| NoSuchFieldException | if the requested field can not be found. | 
|---|
         Returns an array containing
         
          Field
         
         objects for all fields declared
 in the class represented by this
         
          Class
         
         . If there are no fields or
 if this
         
          Class
         
         represents an array class, a primitive type or void
 then an empty array is returned.
        
         Returns a
         
          Method
         
         object which represents the method matching the
 given name and parameter types that is declared by the class
 represented by this
         
          Class
         
         .
         
          (Class[]) null
         
         is equivalent to the empty array.
        
         See
         
          
            ?>
           ...)">getMethod(String, Class
            ?>
           ...)
          
         
         if you want to search superclasses.
        
| NoSuchMethodException | if the requested method can not be found. | 
|---|---|
| NullPointerException | if 
            name
           is
            null
           . | 
         Returns an array containing
         
          Method
         
         objects for all methods
 declared in the class represented by this
         
          Class
         
         . If there are no
 methods or if this
         
          Class
         
         represents an array class, a primitive
 type or void then an empty array is returned.
        
         Returns the declaring
         
          Class
         
         of this
         
          Class
         
         . Returns
         
          null
         
         if the class is not a member of another class or if this
         
          Class
         
         represents an array class, a primitive type, or void.
        
         Returns the enclosing
         
          Class
         
         of this
         
          Class
         
         . If there is no
 enclosing class the method returns
         
          null
         
         .
        
         Returns the enclosing
         
          Constructor
         
         of this
         
          Class
         
         , if it is an
 anonymous or local/automatic class; otherwise
         
          null
         
         .
        
         Returns the enclosing
         
          Method
         
         of this
         
          Class
         
         , if it is an
 anonymous or local/automatic class; otherwise
         
          null
         
         .
        
         Returns the
         
          enum
         
         constants associated with this
         
          Class
         
         .
 Returns
         
          null
         
         if this
         
          Class
         
         does not represent an
         
          enum
         
         type.
        
         Returns a
         
          Field
         
         object which represents the public field with the
 given name. This method first searches the class C represented by
 this
         
          Class
         
         , then the interfaces implemented by C and finally the
 superclasses of C.
        
| NoSuchFieldException | if the field can not be found. | 
|---|
         Returns an array containing
         
          Field
         
         objects for all public fields
 for the class C represented by this
         
          Class
         
         . Fields may be declared
 in C, the interfaces it implements or in the superclasses of C. The
 elements in the returned array are in no particular order.
        
         If there are no public fields or if this class represents an array class,
 a primitive type or
         
          void
         
         then an empty array is returned.
        
         Returns the
         
          
           Type
          
         
         s of the interfaces that this
         
          Class
         
         directly
 implements. If the
         
          Class
         
         represents a primitive type or
         
          void
         
         then an empty array is returned.
        
         Returns the
         
          Type
         
         that represents the superclass of this
         
          class
         
         .
        
         Returns an array of
         
          Class
         
         objects that match the interfaces
 in the
         
          implements
         
         declaration of the class represented
 by this
         
          Class
         
         . The order of the elements in the array is
 identical to the order in the original class declaration. If the class
 does not implement any interfaces, an empty array is returned.
        
         Returns a
         
          Method
         
         object which represents the public method with
 the given name and parameter types.
         
          (Class[]) null
         
         is equivalent to the empty array.
        
         This method first searches the class C represented by this
         
          Class
         
         ,
 then the superclasses of C,
 and finally the interfaces implemented by C and its superclasses.
        
         Use
         
          
            ?>
           ...)">getDeclaredMethod(String, Class
            ?>
           ...)
          
         
         if you don't want to search superclasses.
        
| NoSuchMethodException | if the method can not be found. | 
|---|
         Returns an array containing
         
          Method
         
         objects for all public methods
 for the class C represented by this
         
          Class
         
         . Methods may be
 declared in C, the interfaces it implements or in the superclasses of C.
 The elements in the returned array are in no particular order.
        
         If there are no public methods or if this
         
          Class
         
         represents a
 primitive type or
         
          void
         
         then an empty array is returned.
        
         Returns an integer that represents the modifiers of the class represented
 by this
         
          Class
         
         . The returned value is a combination of bits
 defined by constants in the
         
          
           Modifier
          
         
         class.
        
         Returns the name of the class represented by this
         
          Class
         
         . For a
 description of the format which is used, see the class definition of
         
          
           Class
          
         
         .
        
         Returns the
         
          Package
         
         of which the class represented by this
         
          Class
         
         is a member. Returns
         
          null
         
         if no
         
          Package
         
         object was created by the class loader of the class.
        
Returns the URL of the given resource, or null if the resource is not found. The mapping between the resource name and the URL is managed by the class' class loader.
Returns a read-only stream for the contents of the given resource, or null if the resource is not found. The mapping between the resource name and the stream is managed by the class' class loader.
         Returns null. (On Android, a
         
          ClassLoader
         
         can load classes from multiple dex files.
 All classes from any given dex file will have the same signers, but different dex
 files may have different signers. This does not fit well with the original
         
          ClassLoader
         
         -based model of
         
          getSigners
         
         .)
        
         Returns the simple name of the class represented by this
         
          Class
         
         as
 defined in the source code. If there is no name (that is, the class is
 anonymous) then an empty string is returned. If the receiver is an array
 then the name of the underlying type with square braces appended (for
 example
         
          "Integer[]"
         
         ) is returned.
        
           Class
          
          .
         
         Returns the
         
          Class
         
         object which represents the superclass of the
 class represented by this
         
          Class
         
         . If this
         
          Class
         
         represents
 the
         
          Object
         
         class, a primitive type, an interface or void then the
 method returns
         
          null
         
         . If this
         
          Class
         
         represents an array
 class then the
         
          Object
         
         class is returned.
        
         Returns an array containing
         
          TypeVariable
         
         objects for type
 variables declared by the generic class represented by this
         
          Class
         
         . Returns an empty array if the class is not generic.
        
         Tests whether this
         
          Class
         
         represents an annotation class.
        
Indicates whether or not this element has an annotation with the specified annotation type (including inherited annotations).
| annotationType | the type of the annotation to search for | 
|---|
           true
          
          if the annotation exists,
          
           false
          
          otherwise
         
         Tests whether the class represented by this
         
          Class
         
         is
 anonymous.
        
         Tests whether the class represented by this
         
          Class
         
         is an array class.
        
         Tests whether the given class type can be converted to the class
 represented by this
         
          Class
         
         . Conversion may be done via an identity
 conversion or a widening reference conversion (if either the receiver or
 the argument represent primitive types, only the identity conversion
 applies).
        
| NullPointerException | if 
            c
           is
            null
           . | 
|---|
         Tests whether the class represented by this
         
          Class
         
         is an
         
          enum
         
         .
        
         Tests whether the given object can be cast to the class
 represented by this
         
          Class
         
         . This is the runtime version of the
         
          instanceof
         
         operator.
        
           true
          
          if
          
           object
          
          can be cast to the type
         represented by this
          
           Class
          
          ;
          
           false
          
          if
          
           object
          
          is
          
           null
          
          or cannot be cast.
         
         Tests whether this
         
          Class
         
         represents an interface.
        
         Tests whether the class represented by this
         
          Class
         
         is defined
 locally.
        
         Tests whether the class represented by this
         
          Class
         
         is a member
 class.
        
         Tests whether this
         
          Class
         
         represents a primitive type.
        
         Tests whether this
         
          Class
         
         represents a synthetic type.
        
         Returns a new instance of the class represented by this
         
          Class
         
         ,
 created by invoking the default (that is, zero-argument) constructor. If
 there is no such constructor, or if the creation fails (either because of
 a lack of available memory or because an exception is thrown by the
 constructor), an
         
          InstantiationException
         
         is thrown. If the default
 constructor exists but is not accessible from the context where this
 method is invoked, an
         
          IllegalAccessException
         
         is thrown.
        
| IllegalAccessException | if the default constructor is not visible. | 
|---|---|
| InstantiationException | if the instance can not be created. | 
Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
          getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        
        
         See
         
          Writing a useful
          
           toString
          
          method
         
         if you intend implementing your own
         
          toString
         
         method.