局部代码块 、 静态代码块 和构造代码块是可以同时存在的。它们的功能是不同的:
局部代码块是对局部变量生命周期的控制, 避免内存的浪费
静态代码块是用于对类进行初始化。
构造代码块是对对象进行初始化,在构造函数重载时,对不同对象进行不同初始化时,抽取对象共同内容封装成构造代码块,对所有对象进行初始化。
从功能可以看出随着类文件.class的加载,静态代码块就会运行对类进行初始化,之后“如果”创建对象,在通过构造函数初始化之前,会通过构造代码块初始化。至于局部代码块,只有在调用它所在方法时,才会执行。
|
|