Java中的基本类型和引用类型变量的区别

 我来答
淳于灵寒
2016-09-24 · 超过107用户采纳过TA的回答
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:178万
展开全部
java中的数据类型分为两大类:基本数据类型和引用数据类型

基本数据类型,包括数值型,字符型和布尔型。

数值型:1)整型:byte 1个字节;short 2个字节;int 4个字节;long 8个字节。

2)浮点型:float 4个字节;double
8个字节;可以采用十进制和十六进制两种表示方式,其中十六进制表示方法只能采用科学计数法,例如:0x1.2p3,表示的是的是1乘以16加上2乘以16的-1次方的和乘以2的三次方;浮点型的默认类型为DOUBLE型,如果声明float型浮点数,要在数值后面加上f或F,例如:float
f1 = 3.14F;否则会报精度错误。

字符型:char 采用unicod的16位编码方式进行编码。

布尔型:true,false;

引用数据类型:类、接口类型、数组类型、枚举类型、注解类型;

基本数据类型和引用数据类型的区别主要在存储方式上:

基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;

引用数据类型在被床架时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。

例如:我有一个类MyDate,其中有属性day,mouth,year等,有构造方法(带参数);

现在为其创建一个对象MyDate d1 = new
MyDate(8,8,2008);

在内存中的具体创建过程是:

1)首先在栈内存中位其d1分配一块空间;

2)然后在堆内存中为MyDate对象分配一块空间,并为其三个属性设初值0,0,0;

3)根据类MyDate中对属性的定义,为该对象的三个属性进行赋值操作;

4)调用构造方法,为三个属性赋值为8,8,2008;(注意这个时候d1与MyDate对象之间还没有建立联系)

5)将MyDate对象在堆内存中的地址,赋值给栈中的d1;通过句柄d1可以找到堆中对象的具体信息。

呵呵,引用数据类型的创建还真是挺复杂的一个过程。。。
就烦条0o
2018-08-04 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
在js里面所有数据类型都是对象,那么任何类型的构造函数都是Object(),从而就继承Object的所有属性和方法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cheercp
2018-12-14
知道答主
回答量:31
采纳率:100%
帮助的人:4.4万
展开全部
基本类型:例如 int a = 1; boolean bool = true;基本类型是具体的值。
引用类型:例如 String str; boolean boo;引用类型指向内存空间的引用,是个对象。(个人理解)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式