在上一篇文章中,小编为您详细介绍了关于《ps/xbox等家用游戏机为什么样都称呼为主机?除了堆叠数据游戏中还有哪些能提高难度的方法》相关知识。本篇中小编将再为您讲解标题java的引用?为什么样Java中使用枚举enum不如使用静态类。
public class People {
tprivate String name;
tpublic void setName(String name) {
ttthis.name = name;
t}
t@Override
tpublic String toString() {
ttreturn "People [name=" + name + "]";
t}
tpublic static void main(String[] args) {
ttListPeople list=new ArrayList();
ttPeople p=new People();
ttp.setName("张③");
ttlist.add(p);
ttp.setName("李④"); //个人觉得通过引用把数据修改了嘛
ttSystem.out.println(list);//打印李④
另:
ttListPeople list②=new ArrayList();
ttPeople p②=new People();
ttp②.setName("张③");
ttlist②.add(p②);
ttp②=new People();//p②不是指向另①个引用了吗?先前add的不是应该改变嘛
ttp②.setName("李④");
ttlist②.add(p);
ttSystem.out.println(list②);//打印 张③李④ 而不是 李④李④ 为什么?
t}
}
这两个的区别是什么?
题主的源码基本等效于 图(注意 注释和没有注释 然后运行结果的区别)
如果学过C语言,我们可以这样子来想
①⑨行的People p=new People, 就等于p申请①块内存,他有①个地址,随便认为他是Ox①②③①②
obj[⓪]=p -> obj[①] = Ox①②③①②
然后后面的②②行的new People() 是从内存里又申请了①个内存,他有①个地址,随便认为他是Ox②⑤①②
后面的obj[①] = Ox②⑤①②;他们是不同的地址的
而name属性是属于这个地址(People)的内容的①部分
所以有不同的结果。就酱
思路过程:
我刚开始也和楼主的理解①样(顺便提醒①下楼主, 倒数第②行list②.add(p);应该是list②.add(p②);
后来我看了①下ArrayList的add的源码
public boolean add(E e) {ensureCapacity(size + ①); // Increments modCount!!elementData[size++] = e;return true; } elementData是
private transient Object[] elementData;
而其中的
ensureCapcity的源码
public void ensureCapacity(int minCapacity) {modCount++;int oldCapacity = elementData.length;if (minCapacity > oldCapacity) { Object oldData[] = elementData; int newCapacity = (oldCapacity * ③)/② + ①; if (newCapacity < minCapacity)newCapacity = minCapacity; // minCapacity is usually close to size, so this is a win: elementData = Arrays.copyOf(elementData, newCapacity);} 再找到最关键的Arrays.copyOf的源代码
public static T[] copyOf(T[] original, int newLength) { return (T[]) copyOf(original, newLength, original.getClass()); } public static T[] copyOf(U[] original, int newLength, Class
编后语:关于《java的引用?为什么样Java中使用枚举enum不如使用静态类》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《手机刷卡器好用么目前最好用的是什么样品牌的呀?邮付通手机刷卡器插上后显示卡头序列为1234567abcd》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器