...
At run time,
staticvariables that arefinaland 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.
...