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.
Before the control gets to main() method, the class needs to be initialized. Since you initialize the currentSingleton inline with declaration, this initialization takes place before main(), during class loading.