代码块
1 构造代码块:
直接在类中定义且没有加static关键字的代码块称为{}构造代码;
作用:给对象统一初始化数据
1.1 构造代码块注意点:
1:成员变量的初始化工作放到构造函数中
2:如果类中有构造代码块,java编译器在编译时会先将构造代码块中的代码移到构造函数中执行,每次调用一次构造函数就执行一次,
多次执行(静态代码块只执行一次), 构造函数中原有的代码最后执行
3:成员属性的初始化和构造代码块的执行顺序是根据原码中的位置执行
2.局部代码块:
在函数中的代码块、
作用:在方法中,如果要缩短变量的寿命,可以使用局部代码块,
方法中,某段代码之后,都不再使用某个变量(这个变量有可能是一个很大的Map集合,很占内存),则可以将其定义到局部代码块中,及时结束其生命周期,释放空间!
3.静态代码块:
在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。
由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
注意: 静态代码块不能存在于任何方法体内。2 静态代码块不能直接访问实例变量和实例方法,需要通过类的实例对象来访问。