See the following picture, then go ahead and take a look on the explanation at the end.
Looking at the picture above, you can see a static block in JavaApplication class. It has no return statement, no argument, no this or super here.
This static block is a “static initializer”, It’s automatically invoked when the class is loaded on the first times (and ONLY ONE) by virtual machine, and there’s no other way to invoke it.
This static block and default constructor are not the same, the constructor will be called everytime we initialize a class. But, the static block will be called in once (look at the picture).