值传递和引用传递
来源:互联网 发布:适合美工的笔记本 编辑:程序博客网 时间:2024/06/08 06:51
值传递:
指的是在方法调用时,传递的参数是按值的拷贝传递,传递后就互不相关了。
public class test2 {private void test1(int a){//做点事情a=0;System.out.println(a);}public static void main(String[] args) {test2 t = new test2();int a = 3;t.test1(a);//这里传递的参数a就是按值传递System.out.println(a);}}
输出:
0
3
可见,a传递过去后,不会影响前面的值。
引用传递:指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。
public class test2 { private void test1(A a){//a = new A(); 如果这里实例化一个新的A覆盖掉a,就不会相互影响 a.age = 20; System.out.println("test1方法中的age="+a.age); } public static void main(String[] args) { test2 t = new test2(); A a = new A(); a.age = 10; t.test1(a); System.out.println("main方法中的age="+a.age); } } class A{ public int age = 0; }
test1方法中的age=20
main方法中的age=20阅读全文
0 0
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 值传递和引用传递
- 引用传递和值传递
- 论java的封装性,是优势,还是劣势?
- 快速开发APP-建立自己的代码库
- arxiv每周速报第四期
- “Headers already sent” error in PHP
- ExecutorService与Executors例子的简单剖析
- 值传递和引用传递
- Kotlin教程学习-函数定义,变量声明
- Vue-高级讲师之笔记03
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- Maven详解之仓库------本地仓库、远程仓库
- SQL(2) ---级联联表批量删除
- Java线程池
- Tomcat 部署多个web项目
- OpenGL学习——(3)库函数