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

# Interface ConstantValueAttribute

All Superinterfaces:
  `Attribute<ConstantValueAttribute>, ClassFileElement, FieldElement`

public sealed interface ConstantValueAttribute extends Attribute<ConstantValueAttribute>, FieldElement
Models the `ConstantValue` attribute (JVMS 4.7.2), which indicates this field's value is a constant and that constant value.

This attribute only appears on fields, and does not permit multiple instances in a field. It has a data dependency on the constant pool.

This attribute was introduced in the Java Platform version 1.0.2, major version 45.

See Java Virtual Machine Specification:
  4.7.2 The `ConstantValue` Attribute
Since:
  24
See Also:
  - `Attributes.constantValue()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ConstantValueEntry`
  `constant()`
  Returns the constant value of the field.
  `static ConstantValueAttribute`
  `of(ConstantValueEntry value)`
  Returns a `ConstantValue` attribute.
  `static ConstantValueAttribute`
  `of(ConstantDesc value)`
  Returns a `ConstantValue` attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`

- ## Method Details

  - ### constant

    ConstantValueEntry constant()
    Returns the constant value of the field.
    Returns:
      the constant value of the field

  - ### of

    static ConstantValueAttribute of(ConstantValueEntry value)
    Returns a `ConstantValue` attribute.
    Parameters:
      `value` - the constant value
    Returns:
      a `ConstantValue` attribute

  - ### of

    static ConstantValueAttribute of(ConstantDesc value)
    Returns a `ConstantValue` attribute.
    Parameters:
      `value` - the constant value
    Returns:
      a `ConstantValue` attribute