Java是传值还是传引用?

简介: Java是传值还是传引用?

按值传递,即直接将变量的值传递到函数的参数中。


 按址传递,即将变量的地址传递到函数的参数中。


 按值传递和按址传递有一个很明显的区别:当使用按值传递时,在函数中对参数进行操作不会影响到函数外对应的变量;使用按址传递时则会影响。就好比Windows系统中的复制与剪切,按值传递就是“复制”, 被你复制的地方还保存了原有的文件,不改变所选定的数据。按址传递就是“剪切”,对原有数据做了修改,改变了原有数据。

先说结果(自己测试过):

Java中传参都是值传递,如果是基本类型,就是对值的拷贝,如果是对象,就是对引用地址的拷贝。

1.基本类型的变量放在栈里;

2.封装类型中,对象放在堆里,对象的引用放在栈里。


相关文章
|
1月前
|
存储 Java
Java-参数传值
Java-参数传值
25 4
|
7月前
|
Java 测试技术 数据处理
Java多线程父线程向子线程传值解决方案 2
Java多线程父线程向子线程传值解决方案
87 0
|
7月前
|
Java
Java多线程父线程向子线程传值解决方案 1
Java多线程父线程向子线程传值解决方案
228 0
|
7月前
|
Java
JAVA参数传值机制中值传递和引用传递
JAVA参数传值机制中值传递和引用传递
62 0
|
Java
08 java中方法传参的传值与传址问题
java的值传递与址传递 问题:在java中方法传参到底是值传递还是址传递?
80 0
08 java中方法传参的传值与传址问题
|
存储 Java C++
基于堆栈内存详析 Java函数形参是传值还是引用? | C++指针与Java引用的区别 | C++引用、指针等之间的区别 | C++与Java类的实例化的区别
基于堆栈内存详析 Java函数形参是传值还是引用? | C++指针与Java引用的区别 | C++引用、指针等之间的区别 | C++与Java类的实例化的区别
|
Java
Java - 参数传递(传值、传址/引用)
Java - 参数传递(传值、传址/引用)
301 0
Java - 参数传递(传值、传址/引用)
|
Java C语言
【JavaSE基础】深入了解Java的传值和传引用
【JavaSE基础】深入了解Java的传值和传引用
114 0
【JavaSE基础】深入了解Java的传值和传引用
|
Java
Java 传参传值
Java 传参传值 案例代码 public class PassParamExplain { public static void main(String[] args) { //example A System.
10397 0
|
JavaScript 前端开发 Java
前端jsp与后端servlet传值(java web)
jsp中js使用jQuery封装好的 $.ajax()方法与服务器进行交互 var jsonStick = this.strtoJson(); $.
2446 0