引用传递是什么 | 学习笔记

简介: 快速学习引用传递是什么。

开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:引用传递是什么】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/529


引用传递是什么


内容介绍

一、引用传递是什么


一、引用传递是什么

Java 的操作是属于引用传递还是数值传递?

现在唯一的回答有两句:

java 中包含数值传递与引用传递;.

没有认真学习 Java 的数据类型的划分。

之所以会有引用传递的概念,主要是在 java 里面为了更加简化的处理内存传递。

引用传递的本质在于:

同一块堆内存空间可以被不同的栈内存指向,引用数据类型的真正内容在堆内存里面。

而堆内存的名字或者是说如果想要找到堆内存的位置,那么就需要一个地址。

在此我们做一个简单的示例:

假设我们去超市,手里拿了东西。为了方便人们,就设置了储物柜。而每个储物柜上都有编号。假设我们打开3号储物柜,我们就会收到一张纸,等待购物完成之后我们就要根据这张纸来取物。所以我们可以把你真正需要的东西看做堆,如我们存储的物品,而栈则是存放找到它的地址,比如我们手中的纸。

 1.png而基本数据类型所进行的传递只是数值的传递。就好比你今天告诉我温度是多少度?30度,于是你只知道了这数值,而这个数值于你也只是属于一个拷贝。

而数值传递就好比内容被拷贝一份,原始数据与其无关,即便如何改变都和原始数据没关系。

引用传递示例:

class电脑{

private int abc ;

private主板对象;

private 显示器 [] 对象数组;

}

class主板{

private硬盘对象数组;

}

class 硬盘{ }

class 显示器{ }

java 的引用传递真的要比 CCH+ 的指针简单了许多倍。

而且利用引用传递也可以实现对象的向上转型,所以整体的设计上来讲,Java 的内存的引用传递要比一些其它语言简单。

 

相关文章
|
1月前
|
消息中间件 前端开发 NoSQL
值传递OR引用传递?大部人都答错了!
值传递OR引用传递?大部人都答错了!
24 2
值传递OR引用传递?大部人都答错了!
|
4月前
|
安全 C++ 开发者
C++一分钟之-函数参数传递:值传递与引用传递
【6月更文挑战第19天】C++中函数参数传递涉及值传递和引用传递。值传递传递实参副本,安全但可能效率低,适合不变对象;引用传递传递实参引用,允许修改,用于高效修改或返回多值。值传递示例显示交换不生效,而引用传递示例实现交换。常量引用则防止意外修改。选择传递方式需考虑效率与安全性。
38 2
|
5月前
|
存储 安全 Java
Java方法的值传递技术详解
Java方法的值传递技术详解
33 3
|
5月前
|
C++
C++函数与值传递
C++函数与值传递
27 0
|
Go
值类型与引用类型,值传递与引用传递
值类型与引用类型,值传递与引用传递
37 0
值传递与引用数据类型传递
值传递与引用数据类型传递
41 0
|
Java iOS开发
【Java基础】值传递和引用传递?引用传递的本质是什么?
【Java基础】值传递和引用传递?引用传递的本质是什么?
细说值传递、引用传递和地址传递
细说值传递、引用传递和地址传递
|
Java
Java面向对象-方法的值传递和引用传递
Java面向对象-方法的值传递和引用传递
110 0