|
|
Contents |
If you are writing a class browser you need a way to get information about classes at run time. 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 theClassobject that reflects the class.
For each class, the Java Runtime Environment maintains an immutable
Classobject that contains information about the class. AClassobject represents, or reflects, the class. With the reflection API, you can invoke methods upon aClassobject which returnConstructor,
Method, and
Fieldobjects. Using these objects, you can get information about the corresponding constructors, methods, and fields defined in the class.
Classobjects also represent interfaces. You invokeClassmethods to find out about an interface's modifiers, methods, and public constants. Not all of theClassmethods are appropriate when aClassobject reflects an interface. For example, it doesn't make sense to invokegetConstructorswhen theClassobject represents an interface. Examining Interfaces explains whichClassmethods 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 correspondingClassobject.Getting the Class Name
It's easy to find out the name of aClassobject. All you have to do is invoke thegetNamemethod.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 theClassobjects 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 aClassobject 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 accessingFieldobjects.Discovering Class Constructors
This section, which introduces theConstructorclass, 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 correspondingMethodobjects. This section shows you how to do this.
|
|
Contents |