Classes and objects in Java must be initialized before they are used. You previously learned that class fields are initialized to default values when classes are loaded and that objects are initialized via constructors, but there is more to initialization. This final installment in the Java 101: Foundations series introduces all of Java's features for initializing classes and objects.
Initializing classes
Before we explore Java's support for class initialization, let's recap the basics of Java initialization. Consider Listing 1.