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.