The instance field variable initializers of a class correspond to a sequence of assignments that are executed immediately upon entry to one of the instance constructors of the class. The variable initializers are executed in the textual order they appear in the class declaration. The class instance creation and initialization process is described further in §10.10.
A variable initializer for an instance field cannot reference the instance being created. Thus, it is an error to reference this
in a variable initializer, as is it an error for a variable initializer to reference any instance member through a simple-name. In the example
class A { int x = 1; int y = x + 1; // Error, reference to instance member of this }
the variable initializer for y is in error because it references a member of the instance being created.