# FieldAccess class abstract interface

Provides reflective access to fields of a class.

This interface abstracts field metadata access, allowing inspection of:

- Field names and types
- Field values (both user-provided and defaults)
- Protection domains
- Actual field instances

{@template field_access_features}

## Key Features

- Type-safe field value access
- Distinction between default and user-provided values
- Protection domain awareness
- Full metadata inspection
- Instance retrieval when available

## Implementation Notes

Concrete implementations typically wrap platform-specific reflection objects while providing this uniform interface. {@endtemplate}

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

getField(String name) → Field?
  Gets a field by its name.
getFields() → List<Field>
  Gets all fields declared in this class.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited