My understanding is that you cannot reference a variable before it has been declared, and that all code (including instance initializers) that is within the body of a class,
The instance initialization blocs are called at the instance creation time.so it is normal that After the creation of the why object, it Works.
The order of initialisation is: 1) static bloc 2)constructor 3)instance blocs on order of appearance