x,y的传递是值传递,只传了进去,但没传出来,所以,打印结果还是调用pos前的值。你可以把 System.out.println("X="+x) 放到pos()里,就能看到了。
解决方案 »
- java中的光标问题
- 菜鸟求助swing问题
- 一个用java监听键盘输入的问题
- DocFlavor问题
- 会打字就会建立网站,几分钟就可自动建立大型网站
- 问一个关于XML的问题,请高手解答。。进来有分!!!
- 学习java中,请教为什么是这样的结果呢?
- [救命]sun one studio 5 se 保存jsp 中文部分都是 “??”
- 强烈建议建立Eclipse专区
- 求助!!使用Commons DbUtils 向SQLserver2008中的表插入数据出错。
- 菜鸟问:我DefaultMutableTreeNode类型的node.getUserObject得到的是个String类型的值,但是
- 请问目前最好的JAVA集成开发环境是什么?
所以说只是将变量的值传递到访法中,原变量是不变的。
x=a;
y=b;
有这两句话就应改变了。
因为这里将x,y重新付值了。
如果如下写法
private void pos(int x,int y)
{
x+=100;
y+=100;
}
则x,y值不变,因为这时x,y是引数(参数),而不是数据成员x,y;
要表示数据成员用this.x,this.y
System.out.println("x="+x);
System.out.println("y="+y);这些东西也能直接写到类里面去?!楼上的的还在装高手!不知道你们是怎么编译通过的.无知的让人受不了