189 8069 5689

java静态代码执行顺序 java中静态代码块执行顺序

如果一个java类中同时有多个静态代码块,那它们的执行顺序是怎样的?

像这样的情况,自己动手测试下,比谁说的都有说服力!

创新互联建站是一家集网站建设,黄山企业网站建设,黄山品牌网站建设,网站定制,黄山网站建设报价,网络营销,网络优化,黄山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

通过测试,可以看的出静态代码块之间是平级的,按照顺序在执行的!

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

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

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

区别如下:

1、执行次数不同

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

2、作用不同

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

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

扩展资料:

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

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

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

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

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

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

java中为什么说静态方法先执行?

1 不管是静态方法还是非静态方法,都需要调用后执行,其执行的次序和在类里声明的次序无关,区别是静态方法是“class.method"方式执行,非静态方法是"object.method"方式执行,即后者需要创建一个对象。

2 静态成员变量(也称类变量)先于非静态成员变量初始化,静态成员变量在类第一次加载时初始化,所有对象共享一份静态成员变量,非静态成员变量则在对象创建时初始化

java先执行静态代码,再非静态代码,main方法是程序入口。不是先执行main方

是执行main方法所在的类,

一个类的加载过程中,先执行静态代码块,然后非静态代码块,然后是构造方法,,,这个过程,是类加载的过程,比如你没有new这个类的对象,那就不会有这个过程

java 调用静态方法和构造函数和静态块执行的先后顺序

java中首先是静态块先执行,静态方法,最后是构造函数。示例如下:

public class ExA {  

static {  

System.out.println("父类--静态代码块");  

}  

public ExA() {  

System.out.println("父类--构造函数");  

}  

{  

System.out.println("父类--非静态代码块");  

}  

public static void main(String[] args) {  

new ExB();  

}  

}  

class ExB extends ExA {  

static {  

System.out.println("子类--静态代码块");  

}  

{  

System.out.println("子类--非静态代码块");  

}  

public ExB() {  

System.out.println("子类--构造函数");  

}  

}  

执行结果 

===== 

父类--静态代码块 

子类--静态代码块 

父类--非静态代码块 

父类--构造函数 

子类--非静态代码块 

子类--构造函数


当前标题:java静态代码执行顺序 java中静态代码块执行顺序
文章出自:http://cdxtjz.com/article/hpogse.html

其他资讯