This situation is covered by JLS 8.3.2.3 "Restrictions on the use of fields during initialization".
JLS rules allow use in your Question and indicate that the first call getc()will return the default value (uninitialized) alex.
; .
int i = j + 1;
int j = i + 1;
.
. , Java " ". Java. (, , , . , , Java- , , Java .)
:
... .
.
final:
" " . ( " String, " - . JLS 4.12.4.). , ... , .
final , JLS, . final , ( a static) .
, " ".
final .