构造代码块局部代码块和静态代码块的定义作用和区别

Posted t0101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造代码块局部代码块和静态代码块的定义作用和区别相关的知识,希望对你有一定的参考价值。

代码块

1 构造代码块:

  直接在类中定义且没有加static关键字的代码块称为{}构造代码;

作用:给对象统一初始化数据 

  1.1 构造代码块注意点:

    1:成员变量的初始化工作放到构造函数中

    2:如果类中有构造代码块,java编译器在编译时会先将构造代码块中的代码移到构造函数中执行,每次调用一次构造函数就执行一次,

     多次执行(静态代码块只执行一次),   构造函数中原有的代码最后执行

    3:成员属性的初始化和构造代码块的执行顺序是根据原码中的位置执行

2.局部代码块:

  在函数中的代码块、

作用:在方法中,如果要缩短变量的寿命,可以使用局部代码块,

方法中,某段代码之后,都不再使用某个变量(这个变量有可能是一个很大的Map集合,很占内存),则可以将其定义到局部代码块中,及时结束其生命周期,释放空间!

 

3.静态代码块:

  在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。

由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。

   注意: 静态代码块不能存在于任何方法体内。2 静态代码块不能直接访问实例变量和实例方法,需要通过类的实例对象来访问。

 

以上是关于构造代码块局部代码块和静态代码块的定义作用和区别的主要内容,如果未能解决你的问题,请参考以下文章

Lesson Java中代码块和静态代码块的用法

java-普通代码块构造代码块和静态代码块的区别。

java中构造代码块static代码块和局部代码块的区别

构造函数,构造代码块和静态代码块的先后顺序和运用

Java中静态代码块构造代码块的区别

java构造代码块和构造函数内的代码块有啥区别,谁先执行