java 引用类型变量_Java基本类型变量与引用类型变量

本文详细介绍了Java中的两种变量类型:基本类型和引用类型。基本类型包含固定大小的值,如数字和字符,而引用类型则存储对象的内存地址。在声明引用类型变量时,仅分配引用空间,需要通过`new`关键字实例化对象才能使用。引用变量间的赋值是引用赋值,即拷贝对象的地址。理解这两种类型的差异对于有效管理内存和避免空指针异常至关重要。
摘要由CSDN通过智能技术生成

Java中数据类型分为两大类:基本数据类型与复合数据类型。相应地,变量也有两种类型:基本类型与引用类型。

Java的8中基本类型的变量称为基本类型变量,而类、接口和数组变量时引用类型变量。这两种类型变量的结构和含义不同,系统对他们的处理也不相同。

1.基本类型与引用类型变量

*基本类型(primitive type)

基本数据类型的变量包含了单个值,这个值的长度和格式符合变量所属数据类型的要求,可以是一个数字、一个字符或一个布尔值,例如一个整型值是32位的二进制补码格式的数据,而一个字符型的值是16位的Unicode字符格式的数据等。

*引用类型(reference type)

引用型变量的值与基本类型变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保存着变量所表示的一个值或一组值。

引用在其他语言中称为指针或内存地址。Java语言与其他程序设计语言不同,不支持显示使用内存地址,而必须通过变量名对某个内存地址进行访问。

2.两种变量的不同处理

在Java语言中基本类型变量声明时,系统直接给该变量分配空间,因此程序中可以直接操作。例如,

int a; //声明变量a的同时,系统给a分配了空间

a=12;

引用类型(或称为引用型)变量声明时,只是给该变量分配引用空间,数据空间未分配。因此引用型变量声明后不能直接引用,下列第二条语句是错误的:

MyDate today;

today.day = 14; //错误!因为today对象的数据空间未分配

......

引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。通过对引用型变量声明与实例化语句的执行过程分析,可以理解系统对引用型变量的上述处理。例如有如下语句:

MyDate today;

today = new Date();

第一条语句的执行,将给today变量分配一个保存引用的空间,第二条语句分两个步骤执行,首先执行new Date(),给today变量开辟数据空间,然后再执行第二条语句中的赋值操作,

3.引用变量的赋值

Java中引用型变量之间的赋值是引用赋值。例如,下列语句执行后,内存的布局如图3-5所示。

MyDate a,b; //在内存中开辟两个引用空间

a = new MyDate(); //开辟MyDate对象的数据空间,并把该空间的首地址赋给a

b = a; //将a存储空间中的地址写到b的存储空间中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值