This class represents a Java type. There
is one Class object for each class that is loaded
into the Java Virtual Machine, and, as of Java 1.1, there are special
Class objects that represent the Java primitive
types. The TYPE constants defined by
Boolean, Integer, and the other
primitive wrapper classes hold these special Class
objects. Array types are also represented by Class
objects in Java 1.1.
There is no constructor for this class.
You can obtain a Class object by calling the
getClass( ) method of any instance of the desired
class. In Java 1.1 and later, you can also refer to a
Class object by appending
.class to the name of a class. Finally, and most
interestingly, a class can be dynamically loaded by passing its fully
qualified name (i.e., package name plus class name) to the static
Class.forName( ) method.
This method loads the named class (if it is not already loaded) into
the Java interpreter and returns a Class object
for it. Classes can also be loaded with a
ClassLoader object.
The newInstance( )
method creates an instance of a given class; this allows you to
create instances of dynamically loaded classes for which you cannot
use the new keyword. Note that this method works
only when the target class has a no-argument constructor. See
newInstance( ) in
java.lang.reflect.Constructor for a more powerful
way to instantiate dynamically loaded classes. In
Java 5.0, Class is a
generic type and the type variable T
specifies the type that is returned by the newInstance(
) method.
getName( ) returns
the name of the class. getSuperclass( ) returns
its superclass. isInterface( ) tests whether the
Class object represents an interface, and
getInterfaces( ) returns an array of the
interfaces that this class implements. In Java 1.2 and later,
getPackage( ) returns a Package
object that represents the package containing the class.
getProtectionDomain( ) returns the
java.security.ProtectionDomain to which this class
belongs. The various other get( ) and is(
) methods return other information about the represented
class; they form part of the Java Reflection API, along with the
classes in java.lang.reflect.
Java 5.0 adds a number of methods to
support the new language features it defines. isAnnotation(
)
tests whether a type is an annotation
type. Class implements
java.lang.reflect.AnnotatedElement in Java 5.0 and the
getAnnotation( ) and related methods allow the retrieval of
annotations (with runtime retention) on the class. isEnum(
) tests whether a
Class object represents an enumerated type and
getEnumConstants(
)
returns an array of the
constants defined by an enumerated type. getTypeParameters(
) returns the type variables declared by a generic type.
getGenericSuperclass( ) and
getGenericInterfaces( ) are the generic variants
of the getSuperclass( ) and
getInterfaces( ) methods, returning the generic
type information that appears in the extends and
implements clause of the class declaration. See
java.lang.reflect.Type for more information.
Java 5.0 also adds methods that are useful for
reflection on inner classes.
isMemberClass( ) , isLocalClass( ), and
isAnonymousClass( ) determine whether a
Class represents one of these kinds of nested
types. getEnclosingClass(
) , getEnclosingMethod( ),
and getEnclosingConstructor( ) return the type,
method, or constructor that an inner class is nested within. Finally,
getSimpleName( )
returns the name of a type as it would appear in Java source code.
This is typically more useful than the Java VM formatted names
returned by getName( ).
public final class Class<T>
implements Serializable, java.lang.reflect.GenericDeclaration,
java.lang.reflect.Type, java.lang.reflect.AnnotatedElement {
// No Constructor
// Public Class Methods
public static Class<?> forName(String className)
throws ClassNotFoundException;
1.2 public static Class<?> forName(String name, boolean initialize,
ClassLoader loader) throws ClassNotFoundException;
// Public Instance Methods
5.0 public <U> Class<? extends U> asSubclass(Class<U> clazz);
5.0 public T cast(Object obj);
1.4 public boolean desiredAssertionStatus( );
5.0 public String getCanonicalName( );
1.1 public Class[ ] getClasses( );
public ClassLoader getClassLoader( );
1.1 public Class<?> getComponentType( ); native
1.1 public java.lang.reflect.Constructor<T> getConstructor(Class ...
parameterTypes) throws NoSuchMethodException, SecurityException
1.1 public java.lang.reflect.Constructor[ ] getConstructors( )
throws SecurityException;
1.1 public Class[ ] getDeclaredClasses( )
throws SecurityException;
1.1 public java.lang.reflect.Constructor<T> getDeclaredConstructor(Class ...
parameterTypes) throws NoSuchMethodException, SecurityException;
1.1 public java.lang.reflect.Constructor[ ] getDeclaredConstructors( )
throws SecurityException;
1.1 public java.lang.reflect.Field getDeclaredField(String name)
throws NoSuchFieldException, SecurityException;
1.1 public java.lang.reflect.Field[ ] getDeclaredFields( )
throws SecurityException;
1.1 public java.lang.reflect.Method getDeclaredMethod(String name, Class...
parameterTypes) throws NoSuchMethodException, SecurityException;
1.1 public java.lang.reflect.Method[ ] getDeclaredMethods( )
throws SecurityException;
1.1 public Class<?> getDeclaringClass( ); native
5.0 public Class<?> getEnclosingClass( );
5.0 public java.lang.reflect.Constructor<?> getEnclosingConstructor( );
5.0 public java.lang.reflect.Method getEnclosingMethod( );
5.0 public T[ ] getEnumConstants( );
1.1 public java.lang.reflect.Field getField(String name)
throws NoSuchFieldException, SecurityException;
1.1 public java.lang.reflect.Field[ ] getFields( ) throws SecurityException;
5.0 public java.lang.reflect.Type[ ] getGenericInterfaces( );
5.0 public java.lang.reflect.Type getGenericSuperclass( );
public Class[ ] getInterfaces( ); native
1.1 public java.lang.reflect.Method getMethod(String name, Class...
parameterTypes) throws NoSuchMethodException, SecurityException;
1.1 public java.lang.reflect.Method[ ] getMethods( ) throws SecurityException;
1.1 public int getModifiers( ); native
public String getName( );
1.2 public Package getPackage( );
1.2 public java.security.ProtectionDomain getProtectionDomain( );
1.1 public java.net.URL getResource(String name);
1.1 public java.io.InputStream getResourceAsStream(String name);
1.1 public Object[ ] getSigners( ); native
5.0 public String getSimpleName( );
public Class<? super T> getSuperclass( ); native
5.0 public boolean isAnnotation( );
5.0 public boolean isAnonymousClass( );
1.1 public boolean isArray( ); native
1.1 public boolean isAssignableFrom(Class<?> cls); native
5.0 public boolean isEnum( );
1.1 public boolean isInstance(Object obj); native
public boolean isInterface( ); native
5.0 public boolean isLocalClass( );
5.0 public boolean isMemberClass( );
1.1 public boolean isPrimitive( ); native
5.0 public boolean isSynthetic( );
public T newInstance( )
throws InstantiationException, IllegalAccessException;
// Methods Implementing AnnotatedElement
5.0 public <A extends java.lang.annotation.Annotation> A getAnnotation
(Class<A> annotationClass);
5.0 public java.lang.annotation.Annotation[ ] getAnnotations( );
5.0 public java.lang.annotation.Annotation[ ] getDeclaredAnnotations( );
5.0 public boolean isAnnotationPresent(Class<? extends java.lang.annotation.
Annotation> annotationClass);
// Methods Implementing GenericDeclaration
5.0 public java.lang.reflect.TypeVariable<Class<T>>[ ] getTypeParameters( );
// Public Methods Overriding Object
public String toString( );
}
Too many methods to list.
Too many methods to list.