Static test1 initilizer is executing
Static test2 initilizer is executing
Test1 instance initilizer is executing
Constructor test1 is executing
Instance initilizer test2 is executing
Constructor for test2 is executing
8.6 Instance Initializers
An instance initializer declared in a class is executed when an instance of the class
is created (�15.9), as specified in �8.8.7.1.
InstanceInitializer:
8.7 Static Initializers
Any static initializers declared in a class are executed when the class is initialized
and, together with any field initializers (�8.3.2) for class variables, may be used to
initialize the class variables of the class (�12.4).
protected: if a member is protected, it's accessible to all classes in the same package (doesn't matter of it is a subclass or not)