关于Integer等包装类(外覆类)的问题

mylzw 2005-03-13 11:53:44
Integer i; //是定义了一个Integer对象的引用变量,此时将在堆栈区开辟该引用变量的空间(是8个字节?).
i=new Integer(100); //在堆中建立Integer对象,使用类构造函数,将100存入Integer对象的哪个属性??
//此时,i中是对象Integer的引用.

System.out.println(i.toString());
System.out.println(i);
//此时,屏幕显示:
// 100
// 100
//莫非 i.toString()<=>i ?

//想改变 i 中的整数值,难道只能新建一个对象:
i=new Integer(999);

//基本类型可接收Integer对象的值
int ii;
ii=I.intValue();
//但Integer对象如何接收ii的值?
//? i=new Integer(ii) ???
//? i=i.getInteger(??????)

最后,java的外覆类是如何实现的? 自己能实现一个吗?

俺初学java,刚开始看java编程思想~~ 希望大家不要鄙视俺...
...全文
259 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mylzw 2005-03-13
  • 打赏
  • 举报
回复
谢谢 IceCraft(心淡情浓) 的参与啊 . 能再分析的详细点吗??
IceCraft 2005-03-13
  • 打赏
  • 举报
回复
文档分为左右两大块,左边又分为上下两块。
如果你不知道某个类具体是哪个包里的,就在左下的页面中浏览,找到后点击就在右边打开它的文档了。如果知道了包,就在左上的页面中点击对应的包名,左下就会打开这个包里的所有类,再在这些类中浏览你要看的类。

然后是上边的问题,Integer i是建立了一个引用,new Integer(100)则是分配了一块内存来存储这个对象,当你进行这样的操作i=new Integer(100); ,则是把引用指向了这块内存。
i.toString()的作用是调用了i这个对象的一个方法toString(),结果是返回了i的值的字符串形式,返回的是一个String型的对象,而i是Integer型的,它们根本不存在比较关系。
i=new Integer(999);
这样做其实又新开了一块内存,并且这个引用i指向了新的这快内存,原来的Integer(100)的那快内存因为失去了引用,在一定时候将被垃圾收集器回收。
Pthinker 2005-03-13
  • 打赏
  • 举报
回复
要先知道Integer是哪个包中的
在用查找功能就行了
mylzw 2005-03-13
  • 打赏
  • 举报
回复
俺不知道如何才能通过j2se 文档找到有关 integer的说明,规根截底是不会看文档,~ 望大家指点迷津.~
jFresH_MaN 2005-03-13
  • 打赏
  • 举报
回复
那是不是只能再i=new integer("xxx")来改变其值?
---------
你这样就是new了另一个对象,其实是原来的引用指向了另外的对象
也能算是改变了值吧
mylzw 2005-03-13
  • 打赏
  • 举报
回复
我还天真的认为整数值在integer对象的一个数据成员中存放,只要改变了这个数据成员的值就ok了呢~~
那是不是只能再i=new integer("xxx")来改变其值?
jFresH_MaN 2005-03-13
  • 打赏
  • 举报
回复
1.Integer对象的引用变量占几个字节?
---------
对象站用的空间是很复杂的,不是因为它只有一个int成员就占int的空间
更何况这个类里面的成员是很复杂的,所以根本不可算

2.如何改变一个Integer对象中的值?
---------------
和String一样,Integer是final类,而且和String一样,我们给对象初始化之后就不能修改它所表示的int值
mylzw 2005-03-13
  • 打赏
  • 举报
回复
跟了这么多帖子,大家还是没有回答我的问题啊。 我现在将我的问题整理一下:
1.Integer对象的引用变量占几个字节?
2.如何改变一个Integer对象中的值?
jwbecalm 2005-03-13
  • 打赏
  • 举报
回复
IceCraft(心淡情浓) 说得真不错
另外,在JBUILSER中查看一个类的源码和帮助信息都很方便

F1 Help(光标定位到一个关键字中时,按F1,可查看其DOC)
ctrl + Enter /mouseClick 当前关键字追踪
shuren 2005-03-13
  • 打赏
  • 举报
回复
%JAVA_HOME%/src.zip

打开这个文件开java.lang包下有!
ffee 2005-03-13
  • 打赏
  • 举报
回复
关于Integer
参看:http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html
关于System
参看:http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧