静态代码块和实例化代码块

Posted zhuhaorong

tags:

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

静态代码块

在类中,可以将某一块代码声明为静态的,这样的程序块叫静态初始化段。静态代码块的一般形式如下:

static {
    语句序列
}

  

public class staticBlock{

        //定义一个普通的main()方法

        public static void main(String args[]){

        System.out.println("This is main method."); 

       }

      //定义一个静态代码块

     static{

         System.out.println("This is static block.");

         int stVar = 0;   //这是一个局部变量,只在本块内有效

      }

}

  

编译通过后,用java命令加载本程序,会得到如下输出:

This is static block.

This is main method.

从以上输出结果中可以看出,静态代码块甚至在main方法之前就被执行

实例化代码块:

a.实例代码块可以编写多个,也是遵循自上而下的顺序依次执行 

b.实例代码块只有在实例化对象的时候才会执行。

 c.实例化代码块在构造方法之前执行,构造方法执行时,实例代码对应执行一次。
 d.实例代码块也是java语言为程序员准备的一个特殊时机,这个特殊时机被称为:对象初始化时机

 

以上是关于静态代码块和实例化代码块的主要内容,如果未能解决你的问题,请参考以下文章

类加载器实例化时的顺序

java中成员变量代码块构造函数运行顺序

(转) Java 静态代码块和非静态代码块

Java非静态代码块和静态代码块

关于静态块静态属性构造块构造方法的执行顺序

静态代码块