|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
本文是个总结,欢迎讨论! 在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: } 对于上面的程序,要分清晰对象变量和对象实体。 注重在上面的方式调用是一个可能引出错误的调用,不能说明传值和传址的区别。 返回类别: 教程 上一教程: 用java读写ini配置文件 下一教程: 漫谈Java程序的性能优化 您可以阅读与"Java中向方式传参数只有传值一种!"相关的教程: · Java的参数传递的唯一方法:传值(By Value) · java方式参数传值传引用的一点看法 · javascript向jsp传递参数的一种手段:使用xmlhttp对象 · Excel的java处理方法 · Java 按值传递参数 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |