Java的静态块和初始化块分别何时执行?有什么区别?

Python011

Java的静态块和初始化块分别何时执行?有什么区别?,第1张

静态初始化块:当类第一次加载时执行。

静态初始化块:非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被执行。

区别如下:

1、执行次数不同

静态块只执行一次,初始化块可以执行多次。

2、作用不同

静态初始化块仅能初始化类变量,即static修饰的数据成员。

非静态初始化块可以初始化类的实例变量。

扩展资料:

使用Java静态代码块注意事项:

1、它是随着类的加载而执行,只执行一次,并优先于主函数。具体说,静态代码块是由类调用的。类调用时,先执行静态代码块,然后才执行主函数的。

2、静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。

3、静态代码块中的变量是局部变量,与普通函数中的局部变量性质没有区别。

4、一个类中可以有多个静态代码块。

5、对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。

1、首先打开电脑上的eclipse软件,配置好jdk的,如下图所示。

2、点击左上角的file,点击new,点击Javaproject,如下图所示。

3、新建一个class文件,自己取名字,勾引main选项,自动调用main方法。

4、然后输入代码arrint[] arr = new int[5]//动态初始化,在内存中开辟连续的5块空间。

5、这时控制台会出现010[I@15db9742,如下图所示就完成了。