rajendar talatam wrote:
1) constructors
Invoked when you create an instance, totally independent of when #2 happens, or even if it ever happens at all.
2)static methods
Invoked when you invoke them, totally independent of when #1 happens, or even if it ever happens at all.
3)static blocks
Invoked when the class is initialized, which happens before #1 or #2 can happen.