Java语言中方法之间数据传递探讨.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java语言中方法之间数据传递探讨

Java语言中方法之间数据传递探讨   摘要:在面向对象的Java语言中,方法是处理数据的基本模块,方法之间的数据传递是掌握编程方法的关键。本文将其方法间的数据传递归纳为:方法的实参和形参间的值传递和引用传递;方法的返回值可以分为基本数据或对象的引用;并通过实例进行了说明。   关键词:对象;引用;值传递;引用传递   中图分类号:TP312 文献标识码:A      1问题的提出      在面向对象的Java语言中,类是问题空间的高度抽象和概括,是一个模板,而对象是类的特例,解空间的具体实现则是由若干个类的对象集合而成。方法是类的动态属性,代表了类所具有的功能和操作。Java语言中的方法既可以在类中,也可以在接口中声明,但是,它们只能在类中实现。Java语言中的所有操作都是用方法来实现的。   一个方法通过另一个方法的调用被激活,一个被调用的方法被激活,既需要指定被调用方法的方法名,也需要为被调用的方法提供相应的数据,以便于被调用方法对数据的加工处理,乃至于将加工处理的结果返回给方法的调用者。      2Java语言中方法间的数据传递方法      方法是数据加工处理或相应操作的基本模块,为了实现某种需求而调用一个方法,需要为被调用的方法传递数据,以便于被调用的方法依据所提供的数据进行相应的操作。   C++语言的函数间的数据传递可以分为:数值传递、地址传递和引用传递。地址传递的形参是同类型的指针,由于指针操作的不安全等问题,Java语言屏弃了指针,故Java语言方法之间的数据传递只有数值传递和引用传递。   2.1方法间的数值传递   所谓的数值传递又称为值传递,数值传递的特征是:调用方法的实参可以是常量、变量或者是表达式,形参则是对应数据类型的变量。如果实参是变量,则实参和形参是相互独立的两个单元。在方法调用的过程中,实参的值将拷贝到形参中,此后形参的任何修改都不会影响实参。数值传递方法见例1。   [例1]数值传递调用方法举例:   importjava.io.*;   public class ValueTransmit   {publicstatic void main(Stringargs[])   {intx=5,y=66;   System.out.println(“在主方法,交换前的:x=”+x+“,y=”+y);   swap(x,y);   System.out.println(“在主方法,交换后的:x=”+x+“,y=”+y);    }   static voidswap(int x,int y)   {int temp;   System.out.println(“在swap方法未交换时:x=”+x+“,y=”+y);   temp=x;x=y;y=temp;   System.out.println(“在swap方法交换之后:x=”+x+“,y=”+y);    }   }   例1程序的输出结果如下所示:   在主方法, 交换前的:x=5,y=66   在swap方法未交换时:x=5,y=66   在swap方法交换之后:x=66,y=5   在主方法, 交换前的:x=5,y=66   在例1程序中,方法调用的“swap(x,y);”中的实在参数x,y是两个单元,而形式参数中的x,y又是两个单元,它们是互相独立的。所以,对形式参数的改变并不影响实在参数的内容;程序的运行结果也验证上述观点。具体参数传递请见图1所示。   2.2方法间的引用传递   方法之间的数据传递还有一种方法,就是引用传递。引用传递的实质就是将实在参数的地址传递给形式参数引用,也就是形式参数是实在参数的别名。引用传递方法请见例2。   [例2]引用传递方法举例:   // ReferenceTransmit.java 参考源代码如下:   importjava.io.*;   public class ReferenceTransmit   {publicstatic void main(Stringargs[])   {int a[]= {9,-3,6,22,-77,999},n=6;   System.out.print(“数组排序前的情况:”);   for(int i=0;iarr[j])p=j;   if(p!=i){temp=arr[p]; arr[p]=arr[i];arr[i]=temp;}   }    }   }   例2程序的执行结果如下所示:   数组排序前的情况:9-3622-77999   选择排序后的情况:-77   在例2程序的方法调用语句“SelectSort

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档