Java中向方法传参数只有传值一种!
2004-09-22 10:19
239 查看
本文是个总结,欢迎讨论!
在Java中,参数的传递严格意义上讲都是传值的,只不过简单很容易分清楚。而对于对象,有些复杂。
首先,在Java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注意,变量中存的是指向对象的指针。
若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变量。但是,这在Java中办不到。因为Java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在Java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在应用中少犯错误。其他是次要的。
《此位置本有图片,因不能上传,故删除》
对于上面的程序,要分清楚对象变量和对象实体。
注意在上面的方法调用是一个可能引出错误的调用,不能说明传值和传址的区别。
在Java中,参数的传递严格意义上讲都是传值的,只不过简单很容易分清楚。而对于对象,有些复杂。
首先,在Java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注意,变量中存的是指向对象的指针。
若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变量。但是,这在Java中办不到。因为Java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在Java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在应用中少犯错误。其他是次要的。
《此位置本有图片,因不能上传,故删除》
对于上面的程序,要分清楚对象变量和对象实体。
注意在上面的方法调用是一个可能引出错误的调用,不能说明传值和传址的区别。
相关文章推荐
- 《Java中方法的参数传递方式只有一种:值传递》
- java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
- Java只有一种参数传递方式,那就是传值
- Java只有一种参数传递方式,那就是传值
- Java只有一种参数传递机制------按值传递
- Java面向对象【经典案例】Java 只有一种参数参数传递规则: 基于值的传递!
- JAVA一种获得泛型类泛型参数Class对象的方法
- Java中方法参数传递----传值与传引用的理解
- java方法中的参数传值
- java方法参数传值传引用的一点看法
- java操作Excel的一种方法
- 一种简单的方法在程序中实现透明效果(JAVA)
- Java操作Excel的一种方法
- 传递带有汉字参数的一种方法
- 关于JAVASRCIPT的方法的参数
- URL 授权访问另外一种方法,利用 Java 1.1 访问密码保护的 URL(9588http短信通道接入)
- 动态构造 Java 类的一种方法: javassist (1)
- 在上JAVA课时看到了一种的调试方法,帮我把这个循环弄明白了,而且对FOR循环的理解也更深了
- java里方法的参数传递
- java方法参数的使用情况