1、局部代码块:(定义在函数中的代码块)限定变量的生存周期。
2、静态代码块:用static关键字声明的代码块。有的类不需要对象,用静态代码块来给类进行初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
注意:1 静态代码块不能存在于任何方法体内。2 静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。(用的不多,一般用于某个类全是静态成员的时候。)
3、构造代码块:(定义在类中的代码块)每次创建对象时都会被调用,给所有对象初始化。(通用性)
4、构造函数:给对应的对象初始化。(针对性)
***构造函数和构造代码块均与对象有关系,构造几个对象运行几次。而静态代码块只执行一次。***