java中普通代码块和静态代码块之间的区别(java小知识点)
文章目录
- 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.
静态代码块的执行顺序先于普通代码块