永发信息网

对象包装器的疑问

答案:1  悬赏:0  手机版
解决时间 2021-07-20 02:02

最近在看 《JAVA核心技术 卷1》,看到对象包装器这章时有一句话不明白:

“对象包装器是不可以变的,一旦构造了包装器就不允许改变其中的值了。”

请教下各位大侠,该如何理解这句话,最好是能用一段代码说明,谢谢!!

最佳答案

举例子使用对象包装器Integer:


Integer a1 = new Integer(1);//使用int基本类型的Integer包装器,创建一个Integer包装器对象a1;


//而这个a1已经创建了,就没办法改变它的值了..因为Integer类没有提供这样的方法;


a1 = new Integer(2);//现在a1是2,也许你会问,现在a1的值不是改变了么,为什么说不能改变呢?


//其实,原先a1包装器对象的值是没有改变的,现在的a1是2,是因为a1现在又指向一个新的Integer包装器


//new Integer(2)就是a1新指向的那个包装器..


//所以说,当初a1被创建,它的值就不能改变了,但可以再让他指向其他的包装器,明白么?


-------------------------------------------------


再举例子有个类Person:


public class Person{


private String name;


public Person(){}


public Person(String name){


this.name = name;


}


public void setName(String name){


this.name = name;


}


public String getName(){


return this.name;


}


public String toString(){


return "My name is "+this.name;


}


}


比如这个Person类,创建对象后就是可以百变值的,例如:


Person p = Person("Sambow");//创建一个Person类,初始化其name值为Sambow;


System.out.println(p);


p.setName("SambowKings");//又改变了p的值,现在是SambowKings;


System.out.println(p);


//这和上面Integer的例子很明显不同..你仔细看,应该能看懂其中的意思;


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
那位朋友帮忙听听这歌叫什么名字?
最近有啥好听歌没?
深泸300是什么意思?
怎样的我才能够让你更体贴?
我喜欢一个人要不要向她表白呢?
QQ游戏 qq农场种菜
我有个学长他都快奔30老对嘿多女娃都花心,斗
淬火后的45#跟未热处理的40cr的HRC哪个大
电脑上打特殊符号怎么打!按什么。
梦幻西游2009年12月有什么新区
为什么啊,想不通?
谁预想得到明天的事?
BSWZ的中文版在哪下?
在上学中最忌讳的是那些事情?
HP7里面,为什么用除你武器就把伏地魔打败了
推荐资讯
湖北3找个教PK的
信用卡酒店怎么退押金,住酒店为什么需要押金
迷上网游,不管家人的人怎么处置?
朋友过生日送什么礼物好?
电脑启动后加载项好慢
牙齿去渍液能去掉牙齿边缘透明和发黄的问题吗
人生的价值,并不是用时间,而是用深度去衡量
2009年参兵截止到多少号停止报名?急急急
马尔代夫距离西安多远,西安到马尔代夫多远
炫舞好玩吗、
用手机发短信充Q币怎么弄啊?急急急~
现在还有柳州直达百色的快班吗?票价是多少?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?