欢迎光临
我们一直在努力

Java中向方法传参数只有传值一种!-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

本文是个总结,欢迎讨论!

在java中,参数的传递严格意义上讲都是传值的,只不过简单很容易分清楚。而对于对象,有些复杂。

首先,在java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注意,变量中存的是指向对象的指针。

若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变量。但是,这在java中办不到。因为java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在应用中少犯错误。其他是次要的。

《此位置本有图片,因不能上传,故删除》

0: public class demotest {

1: public string x;

2: public void setx(string x){

3: this.x=x;

4: }

5: public void test(demotest ok){

6: ok=new demotest(); this.x="333";

7: }

8: public string getx(){

9: return this.x;

10: }

11: public static void main(string[] args) {

12: demotest ob = new demotest();

13: demotest obp = new demotest();

14: ob.setx("111");

15: system.out.println("ob.x"+ob.getx());

16: obp.test(ob);

17: system.out.println("ob.x"+ob.getx());

18: ob.test(ob);

19: system.out.println("ob.x"+ob.getx());

20: }

21: }

对于上面的程序,要分清楚对象变量和对象实体。

注意在上面的方法调用是一个可能引出错误的调用,不能说明传值和传址的区别。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Java中向方法传参数只有传值一种!-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章