JAVA基础——JAVA中的静态代码块和构造代码块

JAVA 中的代码块

​ 在 Java 的 Class 中,存在着静态代码块、构造代码块、构造函数、普通代码块等结构,他们在 Class 中执行的顺序以及功能也有区别

静态代码块

​ 静态代码块的编写格式如下:

static {
    System.out.println("Static");
}

​ 静态代码块在 Class 被加载时运行,且只运行一次,它的执行顺序优先于各种其他代码块以及构造函数,当一个类中有许多静态代码块时,会按照编写的顺序执行

​ 静态代码块不能存在于任何方法体中,原因很简单,所有的方法都要在 Class 对象被创建时或者创建后执行,并且是主动执行的(除构造方法外,所有的方法都是被动执行的),而静态代码块在类被加载时就需要执行,这是冲突的

​ 另外,静态代码块中是不能调用普通的类变量的,因为普通的类变量必须通过类来进行调用,所以静态代码块只能使用类中的静态变量

构造代码块

​ 构造代码块的编写格式如下:

{
	System.out.println("construction");
}

​ 和构造函数类似,构造代码块在 Class 被创建时执行,虽然构造代码块在构造函数“前”执行,但不是真的前,实际上,我们可以理解为:构造代码块是被作为一部分代码,插入到构造函数的最前端被执行的,构造代码块常用来执行一些所有构造函数中都需要存在的代码

发布了72 篇原创文章 · 获赞 89 · 访问量 6533

猜你喜欢

转载自blog.csdn.net/scfor333/article/details/104619241