您的位置:首页 > 编程语言 > Java开发

Java引用传递的一个例子

2016-11-14 17:13 253 查看
class Candy{
private Integer i;
public void setI(Integer i) {
this.i = i;
}
public Integer getI() {
return i;
}
public static void main(String[] args) {
Map<String,Object> map=new HashMap<String,Object>();
Candy[] array=new Candy[1];
Candy cd=new Candy();
cd.setI(0);
map.put("i", cd);
array[0]=cd;
array[0].setI(5);
System.out.println("map:"+((Candy)map.get("i")).getI());
System.out.println("array:"+array[0].getI());

}
}
//output
//map:5
//array:5


在整个main方法中,只有一部new操作,即只有一个Candy对象(假定为A对象),array[0]=cd和map.put(“i”,cd)两个操作只是获取到指向A的引用cd的值,因此array[0]和map中key=”i”元素都只是指向A的引用,对array[0]和map中key=”i”元素进行操作,实质上就是对A操作,因此,array[0]和map.get(“i”)的结果始终是一致的。这便是一个简单的引用传递的小栗子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐