public static void main(String[] args){
ArrayList arrayList=new ArrayList();
//(1)Boy aBoy=new Boy("z");
for(int i=0;i<20;i++){
//(2)Boy aBoy=new Boy("z");
arrayList.add(aBoy);
}
((Boy)arrayList.get(1)).setName("d");
System.out.print( ((Boy)arrayList.get(1)).getName());
System.out.print( ((Boy)arrayList.get(2)).getName());
}
8种基本类型的引用都是值引用;
那么Java类的引用是 值引用还是对象引用呢?
看情况;
代码中(1)的是对象引用,代码(2)就是值了;为什么;
从打印结果可以看出,
(1)注释打开,对象引用 指向一个Boy;
(2)注释打开,值引用 指向20个Boy,list里的每个boy都是独一无二的;都是New出来的
代码示例展示了Java中对象引用和值引用的区别。在(1)处创建了一个Boy对象并赋给引用,而在(2)处每次循环都新建一个Boy对象,添加到ArrayList中。修改ArrayList中的对象属性会影响到对应的对象,证明它们是独立的实体。这说明Java引用可以指向不同的对象实例。
&spm=1001.2101.3001.5002&articleId=131227908&d=1&t=3&u=79446384d68a451a87e61ce1d10015bb)

被折叠的 条评论
为什么被折叠?



