java 对于 8种基本类型 和 他们的包装类型 , 外加 String 类型 ,都是 值传递,没有引用传递 。即:传到一个方法里时,都是拷贝了一份,所以无法在一个方法里修改他们 的值
如果传递的是对象的话,也就是引用,那么其实是拷贝这 个对象的一个引用,修改会引起变化。
例子:
package Demo;
/**
* User: liuwentao
* Time: 12-7-28 下午10:50
*/
public class Test {
public static void main(String[] args) {
int a = 1;
Integer b =1;
String hi = "Hi";
toInt(a);
toInt(b);
changeStr(hi);
System.out.println("a=" + a + ",b=" + b +",hi=" + hi);
Bean bean = new Bean();
System.out.println("i=" + bean.i + ",i2=" + bean.i2 + ",i3=" + bean.i3 + ",str=" + bean.str);
changeBean(bean);
System.out.println("i=" + bean.i + ",i2=" + bean.i2 + ",i3=" + bean.i3 + ",str=" + bean.str);
}
//=============值传递=================
static void changeStr(String s) {
s = "Hello";
}
static void toInt(Integer i) {
i = 2;
}
//============引用传递=================
static void changeBean(Bean bean){
bean.i = 2;
bean.i2 = 2;
bean.i3 = new Integer(2);
bean.str = "Hello";
}
}
- 大小: 13.9 KB
分享到:
相关推荐
String int 字符串常量池 包装类型 函数参数 值传递引用传递 的 内存分配例子——源码 public static void fun_ref (Ref_test ref_out){ Ref_test ref_in=new Ref_test(); ref_in.s1="in"; //ref_out.s1=...
一个实例让你明白什么是值传递和引用传递的!
Java:按值传递还是按引用传递详细解说
《值传递和引用传递.pdf》介绍了值传递和引用传递的用法和区别
Java面向对象值传递和引用传递Java面向对象值传递和引用传递Java面向对象值传递和引用传递Java面向对象值传递和引用传递
另一方面,值传递由于形参和实参内存地址不一样,有些功能并不能实现(swap()),因此,除了极为简单的函数会使用值传递外,大多数会采用引用传递。而对于指针传递,则在涉及数组的情况下使用较多,因为指针本身会给...
java 值传递和引用传递的比较区别,包括代码及详解
不管是按值传递还是按引用传递,都是把栈中的数据备份了一份给参数变量,只不过值类型备份的是具体的数值,而引用类型备份的是内存地址
按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本。修改形参的值并不会影响实参。 按引用传递(call by reference)时,函数的形参接收实参的隐式引用,而不再是副本。这意味着函数...
C#笔记(基础)值传递和引用传递,适合刚开始学习C#的朋友来学习,阅览
Js引用类型按值传递的题目:两个变量间赋值时,以及作为变量给函数传参时,只是将原变量中的值复制一个副本给对方变量或形参变量 i. 对于原始类型的值,修改新变量,不影响原变量 ii. 对于引用类型的值的值,因为...
这个在Java里面是经常被提起的问题,也有一些争论,似乎最后还有一个所谓的结论...事实上,这很容易让人迷惑,下面先分别看看什么是按值传递,什么是按引用传递,只要能正确理解,至于称作按什么传递就不是个大问题了。
java学习java语言的值传递和引用传递
当一个变量为一个参数传入方法内部的时候,会有两种不同的传递方式:值传递和引用传递。 值传递的特点:不管方法内部对传进去的参数作任何改变,也不会影响方法外部的变量的值 引用传递的特点:方法内部对传...
本人经过长时间收集的最经典、最有说服力、最易懂的关于值传递和引用传递的详解资料~包看包会~发出去真有些不舍得~
经典教程:值传递和引用传递 一看就明白个中原理
Java的按值传递和按引用传递分析 Java的按值传递和按引用传递分析.pdf
很详细总结了两者的区别,保证让你看完不会再不懂的其中的区别
java参数传递时到底是值传递还是引用传递分享.pdf
Java语言中参数值传递和引用传递比较