java 值传递简单透彻理解
来源:互联网 发布:沙发什么意思网络语言 编辑:程序博客网 时间:2024/06/16 04:27
值传递 以及 引用传递简单 介绍。
值传递 指的是在方法调用时,传递的参数是按值的拷贝传递 (传递前 和传递后 对象的引用不变 java 中基本数据类型以及对应的 包装类 经过方法传递是 值不会改变)
引用传递 指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存 空间的地址 (java 中类似于句柄值,对象类经过方法后 引用地址不改变)
java 中只有值传递 没有引用传递 一下是代码证明 附件简单说明
package com.lyh.za.test.project;
public class TestB {
public static void main(String[] args) {
TestA a = new TestA();
System.out.println(a);
testChange(a);
System.out.println(a);
}
public static TestA testChange(TestA a) {
a = new TestA();//改变对象的引用
return a;
}
}
输出结果
com.lyh.za.test.project.TestA@15db9742
com.lyh.za.test.project.TestA@15db9742
有以上结果值 如果java 是引用传递 在方法 testChange中我们改变了 对象的引用 输出 结果应该是 新的引用。
基本的数据类型以及包装类的简单证明
public class TestB {
public static void main(String[] args) {
int a = 10;
int b = 20;
testChange(a, b);
System.out.println(a + "," + b);
Integer a1 = 30;
Integer b1 = 40;
testChange(a1, b1);
System.out.println(a1 + "," + b1);
}
public static void testChange(int a, int b) {
a = a + b;
b = a - b;
}
public static void testChange(Integer a1, Integer b1) {
a1 = new Integer(3);
b1 = new Integer(1);
}
}
结果如下
10,20
30,40
由此可知 通过方法的调用并没有改变 对象的引用 由此值 java 里面只用值传递
- java 值传递简单透彻理解
- C中实参与形参的“值传递”只能“单向传送”(透彻的理解)
- 简单透彻理解JSONP原理及使用
- 简单透彻理解JSONP原理及使用
- 简单透彻理解JSONP原理及使用
- 简单透彻理解JSONP原理及使用
- java中String的透彻理解
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 复习:Java回调函数透彻理解
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- 回调函数透彻理解Java
- Cache-Control max-age=0
- 关于使用Hibernate出现的多种常见错误的原因及解决办法
- Android去Title和主题Theme使用方法
- pdf格式的文件怎么修改
- C/Python实现直接选择排序
- java 值传递简单透彻理解
- SpringMVC 学习 01 - springmvc在普通类中获取HttpServletRequest对象
- 【Spring专题-⑤】Spring RESTful风格
- TCP/IP学习(2)
- hadoop原生版安装部署---2.zookeeper
- Android System Server大纲之VibratorService
- Android Studio分类整理res/Layout中的布局文件(创建子目录)
- 点击 TextView 弹出 时间设置框 DatePicker 、 DatePickerDialog,用于Sqlite db 获取数据
- thinkphp5 入门 -1 基础