原因是你的
void init(int x,int y)
{
this.x=x;
this.y=y;
int z=5;
System.out.println("x="+x+" y="+y+" z="+z);
//x=20 y=30 z=5  ,局部变量int z 他的作用域只在该方法的内部。在这里Z=5
}
中使用的是int z,这并没有改变该类中的z变量所以,在第三次输出时,还是0
如果你把上面的int z = 5;改称是this.z = 5;那么第三次输出的就是5了