2.4 static修饰代码块【重中之重】
格式:
static {
}
类文件只要加载,就一定执行!!!
面试题
class Demo {
static Demo d1 = new Demo();
static Demo d2 = new Demo();
static {
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
}
public Demo() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Demo d = new Demo();
}
}
/*
请问:
代码运行效果是什么???
1. 顺序原则!
2. 执行要求!
3. 语法要求!
答案:
执行者: static Demo d1 = new Demo();
构造代码块
构造方法
执行者:static Demo d2 = new Demo();
构造代码块
构造方法
执行者: 类内静态代码块
静态代码块
执行者: main方法中 Demo d = new Demo();
构造代码块
构造方法
原则:
1. 只要执行构造方法,一定会执行构造代码块!!!
而且构造代码块执行优先级高!!!
2. 代码执行最基本的原则,从上至下!!!
*/