Java有个操作不太懂

问题遇到的现象和发生背景

下面代码最后一行static的功能是什么?
package print;

public class print {
static int x=1;
int y=0;
print()
{
y++;
}
public static void main(String[] args) {
print st=new print();
System.out.println("x="+x);
System.out.println("st.y="+st.y);
st=new print();
System.out.println("st.y="+st.y);
System.out.println("x="+x);
}
static {x++;}

}

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

静态代码块呀

静态代码块

静态代码块:它是随着类的加载而执行,只执行一次,并优先于主函数。具体说,静态代码块是由类调用的。类调用时,先执行静态代码块,然后才执行主函数的。
静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。
静态代码块中的变量是局部变量,与普通函数中的局部变量性质没有区别。