Java显示的静态初始化和非静态实例初始化

静态初始化只执行一次,实例初始化每次创建实例都会执行。

1.创建一个Spoon类:

package com.samsung.wx;

public class Spoon {
    
    static {
        System.out.println("显示的静态初始化");
    }
    
    {
        System.out.println("非静态实例初始化");
    }
    
     public void f1(int i)
     {
         System.out.println(i);
     }
}

2.测试代码:

package com.samsung.wx2;

import com.samsung.wx.Spoon;

public class Test {
    
    public static void main(String[] args) {
        new Spoon();
        new Spoon().f1(2);        
    }
}

  执行结果为:

显示的静态初始化
非静态实例初始化
非静态实例初始化
2