Java 参数的引用传递

 

   接下来,我们准备为大家介绍“参数的引用传递”。

 

  在前面的学习中,我们已经掌学习了参数的值传递,同时也学习到通过值传递的变量,是不会受到方法中的代码影响,但是,如果我们希望在方法中处理以后的结果可以保存下来,那么,我们就需要使用参数的引用传递。


  参数的引用传递:

   (1)在方法的参数定义时,使用类定义的对象作为参数。

   (2)在方法调用时,使用对象作为参数。

 

   所以,简单来说,只要把“对象”传递给“对象参数”就是引用传递,同时,在方法的外面,对象中的属性会受到方法中代码处理的影响。

 

    看完这些内容以后,我们重点还是看看例子,会比较直观。

    

 

  接下来,我们结合例子再作进一步的学习:

 

例子:

 

 

//-----------------------------//

//-定义了武器类Weapon-//

//------------------------------//

Class Weapon

{

 int type; //武器的类型

}

 

//-----------------------------//

//-定义了角色类Role-//

//------------------------------//

Class  Role

{

    int MX( int x , int y )  //定义了方法MX

    {

      y = 5;

      x = x + y;   

    }

 

    //这里定义了类的对象Wp作为参数

    void UseWeapon( Weapon Wp ) //定义角色使用武器的方法UseWeapon,

                       参数是武器类Weapon的对象Wp

    {

      Wp.type = 1;   //根据参数对象Wp调用中类中的属性type,并对其赋值为1。

    }

}

 

//----------------------------------------------------------------------------------------------//

//Mytest类是在创建Java文件时产生的,你可以回顾"Java程序入口点这一章"

//----------------------------------------------------------------------------------------------//

public class MyTest     

{
  public static void main(String[] args)   //入口方法main
  {

     Role  R1 = new Role();    //定义了对象R1

 

     Weapon Rwp = new Weapon(); //定义了武器对象Rwp

 

    Rwp.type = 0;   //这里对Rwp中的属性type赋值了0.

 

    R1.UseWeapon( Rwp );     //把武器对象Rwp作为参数传递

 

                    通过对象R1调用方法UseWeapon,而该方法中的参数

                    是需要接收一个Weaopn的对象,所以,就传递Rwp作为

                    参数,而方法调用完毕后,Rwp中的type的值就等于1

                    而不是0.

 

                    因为,在UseWeapon方法中对参数Wp.ype赋值了1

                    而对象作为参数是可以将方法中的操作结果保存下来的

                    所以, Rwp.type 就等于1.

  }

 

       

 

   非常好,现在,我们已经掌握了Java中的“参数的引用传递”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

    

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练