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中的“参数的引用传递”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)