本帖最后由 ColdMoon 于 2015-7-29 20:12 编辑
静态代码块、构造代码块和构造函数的作用及区别:
静态代码块:用于给类初始化,类加载时就会被加载执行,只加载一次。(给类初始化,缺点:生命周期较长)
如果类中包含多个静态代码块,那么将"先定义的代码先执行,后定义的代码后执行"。
注意: 静态代码块不能存在于任何方法体内。静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。 构造代码块:用于给所有对象初始化的。只要建立对象该部分就会被执行,且优先于构造函数。(给所有对象进行初始化,每次创建对象都会被调用) 构造函数: 给对应的对象进行针对性的初始化,建立对象时,选择相应的构造函数初始化对象 (限制局部变量的生命周期)
创建对象时,三者被加载执行顺序:静态代码块--->构造代码块--->构造函数
|