类中存在两种特殊的代码块,即非静态代码块和静态代码块,前者是直接由 { } 括起来的代码,而后者是由 static{ } 括起来的代码。
非静态代码块在类初始化创建实例时,将会被提取到类的构造器中执行,但是,非静态代码块会比构造器中的代码块先被执行。