关于JAVA的数据类型

java的数据类型可分为:值类型和引用类型。1。值类型直接存放真正的数据。这里的真正的数据是什么意思?2。引用数据类型是数据存放的地址。这个该怎么理解呢?... java 的数据类型可分为:值类型 和 引用类型。

1。值类型直接存放真正的数据。这里的真正的数据 是什么意思?
2。引用数据类型是数据存放的地址。这个该怎么理解呢?
展开
 我来答
li4li5li6
2010-02-09
知道答主
回答量:37
采纳率:0%
帮助的人:28.7万
展开全部
一般情况下,我们声明一个变量:
Object o = new Object();
实际上是创建了一个引用(Object o)和一个对像(new Object())。
java的内存模型中有堆和栈两个空间,将引用放入栈,将对的象放入堆。
“引用”的值是“对像”在堆中的地址。
“对像”的值是真正的数据。

二般情况下,java中还有8种特殊的数据类型
byte,short,int,long,char,boolean,float,double
这几种类型不是对象。为了节省空间,其值直接存到了栈里。
int i=1;
i放放到了栈中,其值是1,而不是对象在堆中的地址。

楼主所说的引用类型就是 对象的“引用”了,值类型就是8种数据类型和“对象”。
幽冥神者
2010-02-09 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1756万
展开全部
1。值类型直接存放真正的数据。这里的真正的数据 是什么意思?

在内存中直接存放某个值,当调用或修改时,都是对它本身进行操作的,所以是真正的数据。
比如 int a = 1;
a = 2;
之后,凡是提到a就永远是2了

引用数据类型是数据存放的地址。这个该怎么理解呢?
String a = "hello";
String b = a;
那么 b 也指向了hello。

简单来讲,小王是一个人名,你寻根探底也是个人名,但他们都指向的是同一个东西,这个被指向的人就是实际数据,而两个名字就是引用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
595222911
2010-02-09
知道答主
回答量:36
采纳率:100%
帮助的人:8万
展开全部
其实这个是相对于 java中的 内存来讲的:

1、stack(栈)。当你创建一个对象引用时候,就是你说的引用类型,就会在栈内存中开辟出一块内存来,存放你的对象引用(object reference)。
这个引用类型其实神似C 语言里边的指针,指向一个值域。(可以说是一个地址)。比如: String name ;

2、heap(堆)。你new 一个对象值的时候,开辟这个空间存放你的对象。这个就是值类型。比如: new String("tom");

3、你把堆指向一个栈,这就完成了创建一个对象的实例的过程。
如: String name = new String ("tom");
上面这行代码说明了,你在heap里创建的对象,指向stack的引用(通过所谓的地址)。

ps:不知道明白了吗?不明白直接m我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aishiqiang
2010-02-09 · TA获得超过460个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:129万
展开全部
真正的数据和地址,就好比是现金和支票!
值类型存放真正的数据,就好比年终奖是发的现金!
引用类型存放的是地址,好比年终奖是发的支票,必须去银行取才能换成现金!

呵呵,你们过年发了多少啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NoGrief
2010-02-09 · TA获得超过253个赞
知道小有建树答主
回答量:304
采纳率:100%
帮助的人:217万
展开全部
所有原生(或native)类型,除了String以外,都是值类型,其他都是引用类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友98d517e7b
2010-02-09 · 超过10用户采纳过TA的回答
知道答主
回答量:59
采纳率:100%
帮助的人:29.3万
展开全部
这就要分堆和栈了
堆中存引用 慢些
栈中村值 更快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式