因为 java 是传值调用的。obj.method(k);
先将k的值拷贝到局部变量x中,然后改变x的值。此时与k没有关系了。
先将k的值拷贝到局部变量x中,然后改变x的值。此时与k没有关系了。
解决方案 »
- 用struts2.0+hibernate+spring及MySQL数据库出现了问题,希望各位帮我解答一下
- arraylist.add()抛出空指针异常。
- 一个图片文件传输的问题,请大家帮帮忙
- 50分有关osworkflow工作流完整例子!在线等待!
- 请问我启动jboss4.0,为什么在浏览器里输入http://localhost:8080/index.jsp不能显示tomcat的那个猫咪的主页啊?它不是自带的tomcat5吗?
- ~~~~~~~~~~~~~~~~~~~~我真的很着急啊!麻烦各位帮我看看了。
- 请教高手一个实体Bean的问题。(再现等候)
- 请问如何解决jbuilder7+weblogic6.1环境下运行j2ee时出现如下的问题?
- mysql.jar找不到?我想用jdbc,用mysql做数据库,但why mysql.jar找不到?
- linux下,jndi 远程获取dataSource 报错,windows下测试没错
- [help]javax.mail + DB(sql server)问题
- j2ee的发布问题,比较EASY,大家来看看
method(10)调用时,将10也就是实际参数x的值,赋值给了形式参数x,在method里改变的是形式参数x的值,它在函数放回时就销毁了。
而原来的实际参数x的值一直没有改变过,就是10。记住,函数调用是传值调用。(这和C/C++是一样的)关于,引用的传递,这里就先不多说了。
自己看一下相关的java教程就知道了。
{
public static void main(String args[])
{
int k=10;
MyClass obj = new MyClass();
System.out.println(obj.method(k)); }
public int method(int x)
{
x= x*2;
return x;
}
}
这样写结果就是20了