FieldRefEntry (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile.constantpool, interface: FieldRefEntry
Keywords: java.lang.classfile.constantpool.FieldRefEntry interface

# Interface FieldRefEntry

All Superinterfaces:
  `MemberRefEntry, PoolEntry`

public sealed interface FieldRefEntry extends MemberRefEntry
Models a `CONSTANT_Fieldref_info` structure, or a symbolic reference to a field, in the constant pool of a `class` file.

A field reference constant pool entry is composite:

    FieldRefEntry(
        ClassEntry owner,
        NameAndTypeEntry nameAndType
    )

where the `nameAndType.type()` represents a field descriptor string.

See Java Virtual Machine Specification:
  4.4.2 The `CONSTANT_Fieldref_info`, `CONSTANT_Methodref_info`, and `CONSTANT_InterfaceMethodref_info` Structures
Since:
  24
See Also:
  - `ConstantPoolBuilder::fieldRefEntry`

- ## Field Summary

  ### Fields declared in interface PoolEntry

  `TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default ClassDesc`
  `typeSymbol()`
  Returns a symbolic descriptor for the field type.

  ### Methods declared in interface MemberRefEntry

  `name, nameAndType, owner, type`

  ### Methods declared in interface PoolEntry

  `constantPool, index, tag, width`

- ## Method Details

  - ### typeSymbol

    default ClassDesc typeSymbol()
    Returns a symbolic descriptor for the field type.
    Returns:
      a symbolic descriptor for the field type