文章目录
- 1.普通代码块(实例代码块)
- 1.1用法
- 2.静态代码块
- 2.1用法
- 3.总结
1.普通代码块(实例代码块)
实例代码块是一段未包含在任何方法或构造器中的代码。它再每次
创建类的实例时候
执行,并且优先于构造器
执行.
用途一般是对对象的非静态属性进行初始化的操作
1.1用法
public class MyClass {{System.out.println("Instance block executed.");}public MyClass() {System.out.println("Constructor executed.");}public static void main(String[] args) {MyClass obj1 = new MyClass();MyClass obj2 = new MyClass();}
}
输入结果:
Instance block executed.
Constructor executed.
Instance block executed.
Constructor executed.
2.静态代码块
静态代码块是用static
修饰的代码块,它再类的加载
时执行,并且只会执行一次
,无论你创建多少个对象。静态代码块主要用于类的静态初始化。
2.1用法
public class MyClass {static {System.out.println("Static block executed.");}{System.out.println("Instance block executed.");}public MyClass() {System.out.println("Constructor executed.");}public static void main(String[] args) {MyClass obj1 = new MyClass();MyClass obj2 = new MyClass();}
}
输出结果
Static block executed.
Instance block executed.
Constructor executed.
Instance block executed.
Constructor executed.
静态代码块的执行顺序先于普通代码块