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 the
Classobject that reflects the class.
For each class, the Java Runtime Environment maintains an immutable
Classobject that contains information about the class. A
Classobject represents, or reflects, the class. With the reflection API, you can invoke methods upon a
Classobject which return
Fieldobjects. Using these objects, you can get information about the corresponding constructors, methods, and fields defined in the class.
Classobjects also represent interfaces. You invoke
Classmethods to find out about an interface's modifiers, methods, and public constants. Not all of the
Classmethods are appropriate when a
Classobject reflects an interface. For example, it doesn't make sense to invoke
Classobject represents an interface. Examining Interfaces explains which
Classmethods 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 corresponding
Getting the Class Name
It's easy to find out the name of a
Classobject. All you have to do is invoke the
Discovering Class Modifiers
This section shows you the methods you need to call to find out what modifiers a particular class has.
In this section you'll learn how to retrieve all of the
Classobjects 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.
In this section you'll learn how to tell if a
Classobject 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 accessing
Discovering Class Constructors
This section, which introduces the
Constructorclass, 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 corresponding
Methodobjects. This section shows you how to do this.