欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java,

来源: javaer 分享于  点击 24320 次 点评:238

java,


public class Hello4 {
static Integer i;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
i = new Integer(2);
f1(i);
System.out.println(i);

}

public static void f1(Integer i) {
System.out.println("before-"+i);
i = new Integer(1);
System.out.println("after-"+i);
}

}
output:
before-2
after-1
2
java中传递给函数的是引用,引用相当于c语言中的指针,那为什么函数对引用i修改后,在main函数中却没有发生变化呢?
原因:对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。
但是根本原因是什么,还不太清楚。
我猜是不是因为c语言中指针本身也是一个数据类型(整型),而java中的引用没有具体的数据类型的原因?

相关文章

    暂无相关文章
相关栏目:

用户点评