...
At run time,
static
variables that arefinal
and that are initialized with compile-time constant values are initialized first.
This statement can be misleading because it is inapplicable does not apply to instances that use values of static final
fields that are initialized at a later stage. Declaring a field to be static final
is insufficient to guarantee that it is fully initialized before being read.
...