publicstaticvoidmain(String[] args){ ArrayList arrayList=newArrayList(); //(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出来的