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目 ...
随机推荐
- centos 6.5安装 redis
版本:redis-2.8.19.tar.gz 检查下面依赖是否安装,如果没有要先安装,不然会有异常. yum install gcc-c++ yum install -y tcl. .获取安装文件 r ...
- C语言实现文件实时更新
一.简介 在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程. 守护进程脱离了终端并且在后台运行:守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显 ...
- Mybatis避免出现语法错
在使用MyBatis的时候,可能会看起来没有问题,但是代码运行的时候出现意想不到的错误. 看如下代码: <update id="updateByPrimaryKeySelective& ...
- 图--生成树和最小生成树.RP
树(自由树).无序树和有根树 自由树就是一个无回路的连通图(没有确定根)(在自由树中选定一顶点做根,则成为一棵通常的树). 从根开始,为每个顶点(在树中通常称作结点)的孩子规定从左到右的次 ...
- 数据结构_bubble_sort
问题描述 给定一个 1~N 的排列 P,即 1 到 N 中的每个数在 P 都只出现一次. 现在要对排列 P 进行冒泡排序,代码如下:for (int i = 1; i <= N; ++i)for ...
- libtool的工作原理
libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一.可移植的接口中:使用libtool的标准方法,可以在不同平台上创建并调用动态库.可以认为libtool是gcc的一个抽象,其包装了 ...
- Web信息架构:设计大型网站(第3版) [美]Peter Morville 中文PDF扫描版
新版Web信息架构设计大型网站针对新技术做了全面更新——搭配新颖范例.全新场景及最佳实践信息——但是,其焦点依然放在基础原理上.其结构严谨,图文并貌,内容涵盖了信息架构基本原理和实践应用的方方面面. ...
- javascript 文本框值变化触发事件
javascript 文本框值变化触发事件jo.find(".price").bind('input onpropertychange', function () { me.cal ...
- jmeter接口参数化获取tocken后保存批量保存在本地
jmeter目录结构如下: 1,读取文件配置的ID提取tocken 2,CSV 数据文件设置,第一个为文件目录,第二个为参数化的参数名. 3,正则表达式提取tocken 4,BeanShell Pos ...
- POST工具
#!/usr/bin/env python# Filename: post.py import sysdef send(host,port,request): import socket s = so ...