请问Java的这个输出是怎么来的啊?

img


如图,为什么加上这个对象s1 s2的建立的话,输出是如下这样的,它是进入了class Student吗?可是有s1s2为什么输出Student 静态代码块这个语句只一次啊?

但是删除对象s1和s2的建立,输出就没有如下圈起来的那里了啊?这是什么原因啊?

静态代码块只在类第一次创建对象的时候被调用,且只会执行一次

普通代码块和构造方法每次new 对象的时候都会被调用