public class Test1
{
static String b="zhangfan";
public static void change(String string)
{
string="wangshuwei";
}
public static void main(String[] args)
{
change(b);
System.out.println(b);
b="wangshuwei";
System.out.println(b);
}
}
运行结果
zhangfan
wangshuwei
以上代码的结果进行解释:
java语言里面是值传递的,但是输出却是内存地址里的值
(1)当程序创建static String b="zhangfan";时,就是相当于建了一个内存是b的空间,b空间里的值为"zhangfan";
(2)当调用public static void change(String string)这个方法的时候,是把b空间里的"zhangfan"这个值复制了一个
副本,传递的就是这个副本,这就是所谓的值传递,所以在调用public static void change(String string)这个方法
的时候,无论怎么改变这个副本,内存b里的值还是zhangfan是不变的,输出却只输出内存里真正的值而不是副本,所以输出为zhanfan
(3)当 b="wangshuwei";这是对b这个内存空间重新赋值为wangshuwei了,内存空间真正的值就变为wangshuwei了。前面说过了,输出[System.out.print()]只输出内存里的值,所以,就输出为wangshuwei了。
分享到:
相关推荐
Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE...
lotus domnio java代理传值
java传值所用的基本方法与java传值时是传引用还是传值
java传值中的乱码,最简易的解决方法。 兄弟姐妹们,快来下载吧
解决java enctype multipart form-data文件上传传值问题 不使用jspsmartupload组件 可以轻轻松松 解决传值问题
java传参问题,通过对原始类型的传参和对应用类型的传参分析java的传值问题
JAVA传值与传引用[整理].pdf
很多初学者比较疑惑的地方,看看绝对有帮助的。帮你打好Java的基础知识
传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设 计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指 针。
Java是传值还是传址引用
Java页面form表单值的简单获取方法
Java 是传值还是传引用,问题主要出在对象的传递上,因为 Java 中简单类型没有引用。既然争论中提到了引用这个东西,为了搞清楚这个问题,我们必须要知道引用是什么。 简单的说,引用其实就像是一个对象的名字...
java及C++中传值传递、引用传递和指针方式的理解.docx
java中传值与传引用,详细讲解java中的传值与传引用
Form 传值的问题 实例 借鉴Form 传值的问题 实例 借鉴
Ajax传值到Jsp中 传值到Servlet中 传值到Java方法中
java中传值还是传引用的的认识? 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
flex+java交互 后台传参 前台操作
关于java中使用表单get方法传值出现乱码问题的解答。详细简单,便于学习使用。