引用变量与把参数传递给方法

原创 2005年05月08日 00:24:00

引用变量与把参数传递给方法

        基本类型的变量与对象变量(引用类型)之间在方法的参数传递方面有着本质的不同。基本类型变量传递的是值(按值传递),而对象变量传递的是引用(按引用传递)。

        “按值传递”意味着参数的值被复制,然后传递到方法中。在方法中,如果愿意,这个副本可以被修改,而不会影响原始的参数。

        “按引用传递”意味着把一个参数引用传递给方法。利用这个引用,方法实际上是在直接访问参数,而不是复制它。方法对参数所做的任何改动直接施加到作为参数的实际对象。从方法中返回之后,该对象将继续保持对方中已经设置的任何新值。

        实际上,这里仍然是把引用一个对象参数的变量值的副本传递给方法。这就是为什么某些Java书籍(使人误解地)讲:“所有方法调用都是按值传递的。”对象引用的副本按值传递,而实际上还是按引用传递了对象本身。

        其中的一个主要差别是,利用“按值传递的引用”(像Java中那样),将无法利用参数进行任何操作,以改变原始参数指向的位置。利用真正的“按引用传递”,对象参数的赋值将引起原是参数也同时发生变化。在Java中,方法可以改变对象参数中的内容,但不能改变它是哪一个对象。

c++函数参数传递效率比较,初始化的全局变量方法果然是最快的,而堆方式最慢.

int   b2=0;//全局初始化区  int  b3;  // 全局未初始化区void test(int* b){//传指针 500ms-520;如果是在堆区530-700ms (*b)++...

不使用引用和全局变量实现函数参数传递

linkNode * head = NULL InitList(&head); InitList(linkNode ** pHead) { *pHead = (struct Node...

已解决:函数重载 原因:临时变量不能作为非const的引用参数传递

#include using namespace std; double sum(double a,double b) { cout

js 基本类型和引用类型 变量复制 参数传递

ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是 简单的数据段( Undefined 、 Null 、 Boolean 、 Number 和 Strin...

方法的参数传递机制测试类

  • 2015年11月05日 17:13
  • 2KB
  • 下载

Android参数传递方法汇总

  • 2013年11月07日 15:12
  • 1.32MB
  • 下载

Java中方法调用参数传递的方式是传值,尽管传的是引用的值而不是对象的值。(Does Java pass by reference or pass by value?)

原文地址:http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html 在Java中,所有的对象变量都是引用,Java...
  • jubincn
  • jubincn
  • 2012年02月03日 22:56
  • 3964

silverlight参数传递方法

  • 2013年11月11日 15:20
  • 83KB
  • 下载

java方法的参数传递其二.docx

  • 2013年01月23日 17:06
  • 100KB
  • 下载

Java的方法的参数传递,值传递和引用传递还有String字符串传递

方法的参数传递 1、值传递  a) 方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。传到方法里的参数类型是基本数据类型的都叫值传递 2、引用传递 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:引用变量与把参数传递给方法
举报原因:
原因补充:

(最多只允许输入30个字)