Download the JDK
Search the Tutorials
Hide the TOC
Trail: The Reflection API
Lesson: Members
Members
Fields
Obtaining Field Types
Retrieving and Parsing Field Modifiers
Getting and Setting Field Values
Troubleshooting
Methods
Obtaining Method Type Information
Retrieving and Parsing Method Modifiers
Invoking Methods
Troubleshooting
Constructors
Finding Constructors
Retrieving and Parsing Constructor Modifiers
Creating New Class Instances
Troubleshooting
Home Page > The Reflection API > Members
Fields

> A field is a class, interface, or enum with an associated value. Methods in the `java.lang.reflect.Field` class can retrieve information about the field, such as its name, type, modifiers, and annotations. (The section Examining Class Modifiers and Types in the Classes lesson describes how to retrieve annotations.) There are also methods which enable dynamic access and modification of the value of the field. These tasks are covered in the following sections:
> - Obtaining Field Types describes how to get the declared and generic types of a field
> - Retrieving and Parsing Field Modifiers shows how to get portions of the field declaration such as `public` or `transient`
> - Getting and Setting Field Values illustrates how to access field values
> - Troubleshooting describes some common coding errors which may cause confusion

> When writing an application such as a class browser, it might be useful to find out which fields belong to a particular class. A class's fields are identified by invoking `Class.getFields()`. The `getFields()` method returns an array of `Field` objects containing one object per accessible public field.

> A public field is accessible if it is a member of either:

> - this class
> - a superclass of this class
> - an interface implemented by this class
> - an interface extended from an interface implemented by this class

> A field may be a class (instance) field, such as `java.io.Reader.lock` , a static field, such as `java.lang.Integer.MAX_VALUE` , or an enum constant, such as `java.lang.Thread.State.WAITING`.

Previous page: Members
Next page: Obtaining Field Types