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