静态语句与实例代码块的执行顺序【不常用但要了解的知识点】

2静态代码块

1.1静态代码快

可以使用static关键字来定义“静态代码块”
 * 1.语法格式:
 * 			static{
 *				java语句; 
 * 			}
 * 2.静态代码在类加载的时候执行,并且只执行一次
 * 3.静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序依次执行
 * 4.静态代码的作用是什么?怎么用?在哪用?什么时候用?
 * ------这当然和具体的需求有关,例如项目中要求在类加载时刻执行代码完成日志的记录
 * 	那么这段记录日志的代码就可以编写到静态代码块中,完成日志记录
 * ------静态代码块是java为程序员准备的一个特殊的时刻,这个特殊的时刻被称为类加载时刻。若:
 *		希望在此刻执行一段特殊的程序,这段程序可以直接放到静态代码块当中。
 *5.通常在静态代码块当中完成预备工作,先完成数据的准备工具,例如:初始化连接池,解析XMI配置工作
 */

1.2,来看一段静态语句的代码

public class StaticTest {

	static{
		System.out.println("类加载- - >1");
	}
	static{
		System.out.println("类加载- - >2");
	}
	static{
		System.out.println("类加载- - >3");
	}
	public static void main(String[] args) {
		System.out.println("main begin");
	}
}

1.3.执行结果如下:

在这里插入图片描述

1.4

静态代码在类加载的时候执行,并且只执行一次

2.实例代码块

2.1.关于实例代码块

* 实例语句块/代码块
 * 1.实例代码块可以编写多个,也是遵循自上而下的顺序依次执行
 * 2.实例代码块在构造方法执行之前执行,构造方法执行依次,实例代码块对应执行一次
 * 3.实例代码块也是Java语言为程序员准备的一个特殊的时期,这个特殊时机被称为:对象初始化时机

2.2下面来看一下这个例子帮助理解上述内容

public class Test {

	//构造函数
	public Test(){
		System.out.println("Test类的缺省构造器执行");
	}
	//实例代码块
	{
		System.out.println(1);
	}
	{
		System.out.println(2);
	}
	{
		System.out.println(3);
	}
	//主方法
	public static void main(String[] args) {
		System.out.println("main begin");
		new Test();
		new Test();
	}
}

2.3执行结果如下:

在这里插入图片描述

2.4这个小例子可以看出

实例代码块在构造方法执行之前执行,构造方法执行依次,实例代码块对应执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值