参数的传递

本来是昨天的文章,因为自控力太差了没有及时来此报道,很是抱歉!
今天就开始写这两天的主要工作,今天的内容和以前学习的C/C++的内容很是相近,我们都知道在前面两大计算机语言中,在函数部分提到了关于多种方式的传递方式,我们曾经还讨论过关于每一种调用方式下是传值还是传地址,这些内容我们再次不在回顾了,因为下面要写到的东西和以前学习过的知识很是相近,于是我们言归正传,直入正题,开始我们的Java中的参数传递部分内容的学习
一、基本数据类型作为参数传递
例如就像这样的形式    
eg:  
public static void main (String [] args)
 {
     int  i = 10 ;
     ......
     ......
    fun(i);   //调用fun方法。
}
public static int fun(int j)
{
......
......
}       //这个方法的首次声明。
* 对于基本数据类型的参数传递,传递的是该类型参数的一个副本,通过传递并不能对传递给它的参数变量的值造成任何影响。
二、对象作为方法参数的传递
重点:当对象作为方法的参数进行传递时,传递的并不是对象本身,而是这个对象的引用的副本,也可以是一个句柄的副本。在此就不举例说明了,但是还有两点需要注意的东西就是在Java中有两个容易混淆的概念:
1、按值传递:向方法的参数中传递的是对象的副本。 
2、按引用传递:向对象的参数中传递的是对象本身。
* 在Java中的对象作为方法参数的传递中,是一种按值传递,因为我们了解到这种传递之后不会改变原来的地址。
小结:在上面提到的两个知识点中我们接触到了关于按值传递和按引用传递,我们最后也了解到上述两种方式都是按值传递,但是这两种方式也是有区别的,前者不会改变变量的原始值,但是后者的确改变了变量值,这让我们想到在C语言中的传递方式,在C语言中我们粗俗的称作“传值”(不会改变起始变量值)和“传地址(会改变起始变量中的值)”。细心的人都会发现C语言中的这种方式和Java中的这两种方式有着区别,并且是实质性的。

 

posted @ 2016-09-10 09:42  Kevin_YZLong  阅读(141)  评论(0)    收藏  举报