一、代码块概述
二、例子:
1、静态代码块
public static String name;
public static void main(String[] args) {
System.out.println("===== main =====");
System.out.println(name);
}
/**
* 静态代码块
* 特点:与类一起加载,自动触发一次,优先执行
* 作用:可以在程序加载时进行静态数据的初始化操作(准备内容)
*/
static {
System.out.println("===== 静态 ======");
name = "张三";
}
输出内容:(可以看出,静态代码块是最优先执行的)
===== 静态 ======
===== main =====
张三
2、构造代码块(实例代码块)【使用较少,了解即可】
public static void main(String[] args) {
// new 一个对象,此时构造代码块被执行一次
new Test2();
}
public Test2(){
System.out.println("==构造器被触发执行==");
}
/**
* 构造代码块(实例代码块)
* 特点:属于对象,与对象一起加载,自动触发执行
*/
{
System.out.println("实例代码块被触发执行");
}
输出内容:(可以看出,实例代码块(即构造代码块),比构造器更优先执行)
实例代码块被触发执行
==构造器被触发执行==