public class MethodTest {
    private int x;
    private int y;
    MethodTest () {}
    MethodTest(int a, int b){
      x=a;
      y=b;  //这两行为什么不可以直接用 x=a; y=b; 用的话编译会通过,但运行时发现都是0
     }
    private void setXY(int a, int b) {
      x=a;
      y=b;      //为什么这里可以直接写x=a; y=b;且运行不会出错?
    }  public int getX(){
return x;
}

public int getY(){
return y;
}

public static void main (String args[]) {
  //.........后面省略
MethodTest t=new MethodTest(2,3);
System.out.println (t.getX());
System.out.println (t.getY());
}

没问题吧,输出2和3