问题描述
- java中怎么像C一样改变参形参的值呢?
-
如何实现呢?基本类型又没有引用,只能通过设置get set 这类的方法来改变吗?
小白求指导
解决方案
改是能改,用反射,不过不建议。
类似http://blog.csdn.net/danielinbiti/article/details/44907625
还是改变C的写法习惯,要习惯基本类型形参不能变,反正不能变所有问题也能解决。
解决方案二:
包装成一个对象或者用数组传入
解决方案三:
java传递的参数有两种方式,普通类型如int,String等为传值,其他的如JAVA对象,数组,集合等均为传址。
传值方式只是把值传入参数,在方法里的任何动作与源无关,源的值不变;
传址方式是把源对象的地址传入方法,在方法里的动作都是直接操作源对象,所以能改变其值。
解决方案四:
能改变参数的属性值是因为传递的是一个对象的引用,此时,存在与方法中的是一个副本,这个副本(局部变量)和作为参数传进来的那个引用指向内存中相同的对象,故也可以修改它的属性值。(除非将副本指向其它的引用)
时间: 2024-10-07 13:08:08