JavaSE---值传递、引用传递
1、概述
1.1 值传递:传递的是值的拷贝;引用传递:传递的是引用的地址值;(Java中统称为值传递)
1.2 java中只有 基本数据类型、String s="aa";这2种形式是值传递,其他都为引用传递;
2、案例
package com.exiuge.mytest; /**
* 值传递 基本数据类型
*/
public class Test { public static void main(String[] args){
int i=3,j=4;
change(i,j);
System.out.println(i+":"+j);
} public static void change(int i,int j){
int temp=0;
temp=i;
i=j;
j=temp;
System.out.println("change:"+i+":"+j);
}
}
执行结果:

package com.exiuge.mytest; import com.exiuge.mytest.springioc.User; /**
* 值传递 String s="a";
*/
public class Test { public static void main(String[] args){
String s="aa";
change(s);
System.out.println(s);
} public static void change(String s){
s="bb";
}
}
执行结果:

package com.exiuge.mytest; /**
* 引用传递 数组
*/
public class Test {
public static void main(String[] args){
int[] arr=new int[]{1,2,3,4,5};
change(arr);
System.out.println(arr[0]); } public static void change(int[] arr){
arr[0]=12;
}
}
执行结果:
12
package com.exiuge.mytest; import com.exiuge.mytest.springioc.User; /**
* 引用传递 自定义数据类型
*/
public class Test {
public static void main(String[] args){
User user=new User(12,"a");
change(user);
System.out.println(user.getAge());
} public static void change(User user){
user.setAge(15);
}
}
执行结果:
15
JavaSE---值传递、引用传递的更多相关文章
- 对象引用 方法传参 值传递 引用传递 易错点 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- C++之值传递&指针传递&引用传递详解
C++之值传递&指针传递&引用传递详解 目录 C++之值传递&指针传递&引用传递详解 1.函数基础 2.值传递 3.指针传递 4.引用传递 1.函数基础 一个函数由以下 ...
- php函数间的参数传递(值传递/引用传递)
php:函数间的参数传递 1.值传递 代码如下: <?php function exam($var1){ $var1++: echo "In Exam:" . $var1 . ...
- c# 值传递 引用传递
以前一直误以为引用类型,在作为参数传递时,都是引用传递(类似于值传递中的ref),也就是说,把引用类型的变量作为参数传递给方法,在方法中修改该参数,会改变这个变量的值, 后来通过一些事例发现,上面的认 ...
- php 数组 类对象 值传递 引用传递 区别
一般的数据类型(int, float, bool)不做这方面的解说了 这里详细介绍一下数组和的类的对象作为参数进行值传递的区别 数组值传递 实例代码: <?php function main() ...
- 值传递 & 引用传递
以下程序的输出结果是? public class Example { String str = new String("good"); char[] ch = { 'a', 'b' ...
- 理解--->Java中的值传递&引用传递
转自:http://url.cn/5tL9F5D 值传递和引用传递 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际 ...
- [转载]php 数组 类对象 值传递 引用传递 区别
一般的数据类型(int, float, bool)不做这方面的解说了 这里详细介绍一下数组和的类的对象作为参数进行值传递的区别 数组值传递 实例代码: <?php function main() ...
- Java小白进阶之值传递-引用传递
class ClassA{ int value;//成员变量 } public class TestClassA{ public static void main(String args[]){ in ...
- 3.GO-项目结构、包访问权限、闭包和值传递引用传递
3.1.goland中项目结构 (1)在goland中创建标准Go项目 (2)goland配置 创建项目Learn-Go file-settings-go-GOPATH-添加 在项目目录下创建src目 ...
随机推荐
- Luogu 4151 [WC2011]最大XOR和路径
你谷又乱评分…… 首先发现答案只有可能是从$1$开始走到$n$,中间绕若干个环,然后使它取到的异或值最大. 这样子的话我们可以随便先取一条路径,强制选择走这条路径,然后把所有的环都丢进线性基里面去,因 ...
- scala中的表达式
scala中的表达式是有值的, 所以可以把表达式当做参数来传递, 那么接受表达式的形参定义一般是: block: =>Unit , 没有形参,返回类型Unit spark中的这个代码很经典, ...
- kaggle Pipelines
# Most scikit-learn objects are either transformers or models. # Transformers are for pre-processing ...
- HBase - 伪分布式安装过程
环境 - hadoop - 没有zookeeper(用hbase自带的zookeeper,当然后期我会改用独立的zookeeper) HBase介绍 参考:hbase是什么? hbase下载 地址:h ...
- SpringAOP使用
AspectJ 注解: 1.@Aspect.@Pointcut.Advice @Aspect @Component public class SecurityAspect { @Autowired A ...
- laravel安装[转https://laravelacademy.org/post/9528.html]
Laravel 框架对PHP版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件很遗憾的事情),有必要了解下这 ...
- vue框架搭建的详细步骤(一)
在这里我们先快速的搭建一个vue的脚手架: (1).在安装vue的环境之前,安装NodeJS环境是必须的.可以使用node -v指令检查,需要保证安装了4.0版本以上的nodeJS环境. 没有安装的话 ...
- Linux 下的 etc
/etc etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linu ...
- CI框架源码学习笔记6——Config.php
接着上一节往下,我们这一节来看看配置类Config.php,对应手册内容http://codeigniter.org.cn/user_guide/libraries/config.html. clas ...
- Jmeter处理cookie
修改bin/jmeter.properties中的 保存后重启jmeter 在测试计划中添加HTTP Cookie 管理器