普通代码块:
直接定义在方法中的代码块成为普通代码块。
构造块:
直接在类中编写的代码块成为构造块。
|-构造块有限与构造方法执行,且执行多次,只要一有实例化对象产生,就执行构造块中的内容
静态块:
直接使用static关键字声明的代码块成为静态代码块。
|-静态块优先于主方法执行,如果在普通类中定义的静态块,优先于构造块执行,不管有多少个实例化对象产生,静态代码块只执行一次,静态代码块的主要功能是为静态属性初始化
http://www.cnblogs.com/bester/p/3297655.html --> 深入了解一点