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

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

开发者学堂课程【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 的内存的引用传递要比一些其它语言简单。

 

相关文章
|
7月前
【面试题精讲】形参&实参
【面试题精讲】形参&实参
|
2月前
|
C++
c++关于值传递,指针传递,引用传递这几个方面还会存在误区
c++关于值传递,指针传递,引用传递这几个方面还会存在误区
17 0
|
3月前
|
C++
C++函数与值传递
C++函数与值传递
13 0
|
8月前
|
Go
值类型与引用类型,值传递与引用传递
值类型与引用类型,值传递与引用传递
24 0
|
12月前
|
Java iOS开发
【Java基础】值传递和引用传递?引用传递的本质是什么?
【Java基础】值传递和引用传递?引用传递的本质是什么?
细说值传递、引用传递和地址传递
细说值传递、引用传递和地址传递
Java 参数传递到底是按 值传递 还是 引用传递
首先明确,Java 中方法参数传递方式是按值传递。对于基本类型(int a, long b),参数传递时传递的是值,例如 int a = 5,传递的就是 5。如果是引用类型,传递是指向具体对象内存地址的地址值
Java 参数传递到底是按 值传递 还是 引用传递
|
Java
Java面向对象-方法的值传递和引用传递
Java面向对象-方法的值传递和引用传递
92 0
|
存储 Java
面试题系列第7篇:Java方法到底是值传递还是引用传递?
面试题系列第7篇:Java方法到底是值传递还是引用传递?
109 0
面试题系列第7篇:Java方法到底是值传递还是引用传递?