final fields initialized with a literal can elide a per-instance reference by adding the static keyword. Since the field is final it is unmodifiable and since its initializer is a literal the value is immutable and thus sharing a per-class field is safe. This also allows a simpler constant load bytecode instead of a field lookup.
That is, prefer this:
static final String string = "string"; static final int number = 42;
Not this:
final String string = "string"; final int number = 42;