I know there are lot of questions on Singleton pattern. But here what I would like to know about the output which might also cover how \"static\" works in Java.
whenever control comes to any class for the first time, all the static initializations take place first. That's why your static object is being instantiated before anything else by calling it's constructor.