接口里面不允许static{}这样的静态初始化的方法,所以我们很难去验证这个接口到底有没有初始化,我们可以用创建新的线程的方法来验证:
public class testStatic { public static void main(String[] args) { System.out.println(myChild5.b); } }
interface MyParent5{ public static Thread thread = new Thread(){ { System.out.println("接口初始化"); } }; } class myChild5 implements MyParent5_1{ public static int b = 5; }
我们在main函数里调用子类的静态变量b,如果造成了父接口的初始化,则初始化时会为线程初始化,就会打印“接口初始化”