Because usage is not on the left side of the assignment , as described below:
From section 8.3.2.3 JLS, Restrictions on the use of fields during initialization :
A member declaration must appear before its use only if the member is an instance (respectively static) field of a class or interface C and all of the following conditions are true:
Use occurs in an instance variable (respectively static)
C initializer or in an instance (respectively static) initializer
from C.
Use is not on the left side of the quest.
C is the innermost class or interface that spans usage.
A compile-time error occurs if any of the three requirements above are not satisfied.
source share