Contents |
If you are writing a class browser, you need a way to get information about classes at runtime. For example, you might want to display the names of the class fields, methods, and constructors. Or, you might want to show which interfaces are implemented by a class. To get this information you need to get theClass
object that reflects the class.For each class, the Java Runtime Environment (JRE) maintains an immutable
Class
object that contains information about the class. AClass
object represents, or reflects, the class. With the reflection API, you can invoke methods on aClass
object which returnConstructor
,Method
, andField
objects. You can use these objects to get information about the corresponding constructors, methods, and fields defined in the class.
Class
objects also represent interfaces. You invokeClass
methods to find out about an interface's modifiers, methods, and public constants. Not all of theClass
methods are appropriate when aClass
object reflects an interface. For example, it doesn't make sense to invokegetConstructors
when theClass
object represents an interface. The section Examining Interfaces explains whichClass
methods you may use to get information about interfaces.Retrieving Class Objects
First things first. Before you can find out anything about a class, you must first retrieve its correspondingClass
object.Getting the Class Name
It's easy to find out the name of aClass
object. All you have to do is invoke thegetName
method.Discovering Class Modifiers
This section shows you the methods you need to call to find out what modifiers a particular class has.Finding Superclasses
In this section you'll learn how to retrieve all of theClass
objects for the ancestors of a given class.Identifying the Interfaces Implemented by a Class
If you want to find out what interfaces a class implements, then check out this section.Examining Interfaces
In this section you'll learn how to tell if aClass
object represents an interface or a class. You'll also get some tips on how to get more information about an interface.Identifying Class Fields
This section shows you how to discover what fields belong to a class, and how to find out more about these fields by accessingField
objects.Discovering Class Constructors
This section, which introduces theConstructor
class, explains how to get information about a class's contructors.Obtaining Method Information
To find out about a class's methods, you need to retrieve the correspondingMethod
objects. This section shows you how to do this.
Contents |