基本变量与引用类型变量有哪些区别?
一、基本变量与引用类型变量的区别
1、存储位置不同
基本变量类型在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中。
只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址。
2、传递方式不同
基本变量类型在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的。
引用数据类型变量,调用方法时作为参数是按引用传递的。
3、影响不同
基本数据类型由于在内存中的一个地址存放的是这些变量的值,所以调用函数,函数里的形参,就是复制这些变量的值,以后对形参值的变化,不会影响到原来变量的值;
引用数据类型由于在内存中是引用他的一个内存地址而不是具体的值,所以调用函数,函数里的形参, 就是复制这些变量的值的地址,当对形参的值进行修改的时候,就等于是对这些变量的值,进行修改,所以会影响到原来变量的值。
延伸阅读:
二、什么是引用类型变量
引用类型变量是使用三种引用类型中的任意一种类型,声明出的变量。三种引用类型:类类型、接口类型、数组类型。
引用类型变量,简称为引用,它可以用来接收对象,也叫做引用指向对象。
引用型变量的值与基本类型变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保存着变量所表示的一个值或一组值。
引用在其他语言中称为指针或内存地址。Java语言与其他程序设计语言不同,不支持显示使用内存地址,而必须通过变量名对某个内存地址进行访问。
引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。通过对引用型变量声明与实例化语句的执行过程分析,可以理解系统对引用型变量的上述处理。
以上就是关于基本变量与引用类型变量的区别的内容了,希望对大家有帮助。

相关推荐HOT
更多>>
Java9和Java11区别大吗?
一、Java9和Java11区别Java 9的新特性java模块系统 (Java Platform Module System)。模块系统的使用:HTTP 2 客户端:HTTP/2标准是HTTP协议的详情>>
2023-10-11 23:00:28
合约机和裸机有哪些区别?
一、合约机和裸机的区别1、定义不同合约机指的是运营商为了吸引用户而推出的优惠购机的活动,它需要用户使用特定的套餐,并且套餐时间有限制,...详情>>
2023-10-11 22:28:38
struts2和springmvc区别?
一、struts2和springmvc区别1.框架机制Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServ详情>>
2023-10-11 21:59:06
Java是什么?
一、什么是Java?首先Java是一种广泛使用的计算机编程语言,程序员用它来和计算机交流,把要求和设想Java语言表达出来,这个过程就是我们所说的...详情>>
2023-10-11 21:33:35