Base of difference | Static initializers | Instance initializers |
Execution | Static initializers are mainly executed when a class is loaded into memory. | Instance initializers are mainly executed every time a new object to the class is created. |
Used for | Static initializers are used to initialize class members of the class or static members. | Instance initializers are used to initialize instance members of a class or non-static memebers. |