局部代码块、静态代码块、构造代码块、构造函数

1、局部代码块:(定义在函数中的代码块)限定变量的生存周期。

2、静态代码块:用static关键字声明的代码块。有的类不需要对象,用静态代码块来给类进行初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。

注意:1 静态代码块不能存在于任何方法体内。2 静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。(用的不多,一般用于某个类全是静态成员的时候。)

3、构造代码块:(定义在类中的代码块)每次创建对象时都会被调用,给所有对象初始化。(通用性)

4、构造函数:给对应的对象初始化。(针对性)

  ***构造函数和构造代码块均与对象有关系,构造几个对象运行几次。而静态代码块只执行一次。***

运行顺序:静态代码块=>构造代码块=>构造函数


构造代码块初始化过程:

更多详情见博客:http://www.cnblogs.com/sophine/p/3531282.html 写的很好。 

原文地址:https://www.cnblogs.com/kkkky/p/6571999.html