class TestClass
{
int i = getInt();
int k = 20;
public int getInt() { return k+1; }
public static void main(String[] args)
{
TestClass t = new TestClass();
System.out.println(t.i+" "+t.k);
}
}
1 20
As duas declarações e atribuições são “iguais” (não tem nenhum diferencial pra justificar alteração na ordem) e por isso são processadas na ordem.
(lógico, primeiro as declarações com os valores default k=0, depois as atribuições)
isso mesmo !!