`

面试总结

 
阅读更多

java 的参数传递

/**
* java 参数传递
*
* @time 下午8:54:44
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class test {


/**
* @param args
*/
public static void main(String[] args) {
//
int a = 0;
System.out.println("before change a=" + a);
changeInt(a);
// 修改后结果
System.out.println("after change a=" + a);
}


/**
* channge value
*/
private static int changeInt(int ga) {
ga++;


return ga;
}


}

运行结果:

before change a=0
after change a=0

传值调用,改掉的是副本,跟c/c++中的值传递类似

如果想改变其值,需找到其值所存放的位置,难点是动态分配内存,如果能找到其地址,读出修改应该是可以完成

如果是采用按址传递的参数是可以改变其值的(同c/c++中的变量指针/引用参数)


所以说这个问题个人觉得没法回答的太绝对


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics