Java 带参数的构造函数

 

   接下来,我们准备为大家介绍“带参数的构造函数”。


  那么,我们为什么要使用带有参数的构造函数呢

 

  首先,我们可以举一个例子,例如:在一个游戏里面,假设它有多个不同类型的角色,而不同的角色,它们的生命值,攻击力,防御力等的属性都是不一样的,所以,在定义不同的角色对象时,我们就可以通过带有参数的构造函数传递相应的参数值,这样,就可以在定义不同的角色对象时,一并把不同的属性值设置完毕。

 

 

 

当我们了解了为什么要使用带有参数的构造函数以后,我们就来看看,它在Java中定义的格式,格式如下:

 

构造函数的名字(参数类型 参数名1,参数类型 参数名2,... 参数类型 参数名n)

{

 构造函数的主体部分

}

 

格式与特点分析:

(1)构造函数的名字必须与所在的“类名”相同。

(2)一对小括号,格式要求不能省略。

(3)一对大括号,格式要求不能省略。

(4)大括号之间就是构造函数的主体部分,需要进行初始化赋值的属性就可以写在这里。

(5)构造函数在对象定义时会自动调用,所以,它里面的代码就会被自动执行。

(6)参数类型就是我们前面所学的数据类型,如:整型、浮点型、字符型等。

(7)参数名字,按照变量命名规则去定义即可。

(8)参数之间用“逗号”分隔。

(9)一对大括号代表构造函数的主体。

 

 

   通过上面的分析,大家就可以了解到,带有参数的构造函数的定义格式,其实,与前面学习的构造函基本上是类似的,只是多了参数的部分。

 

 

 

接下来,我们就定义一个角色类,并在类中定义一个带有参数的构造函数,代码如下:

 

class Role

{

 int  Life;    //生命值

 int  Attack;   //攻击力

 int  Defend;   //防御力

 

 Role( int L,int Ack,int Def )    //带有参数的构造函数Role必须与类名相同

 {

  //下面3行代码是需要进行赋初化的属性,而3个属性值分别来自于参数L,Ack以及Def

  Life = L;

  Attack = Ack;

  Defend = Def;

 }

};

 

Role  R1(5,2,3);

 

代码分析:

 

(1)定义了一个角色对象R1

 

(2)由于类中添加了带有参数的构造函数Role,所以,在定义R1对象的同时会自动调用带参的构造函数

Role(int L,int Ack,int Def),所以,就需要在对象R1定义的同时传递参数,而传递参数的格式就是在对象名R1后添加一对小括号,而括号中就填入要传递的参数值,各参数值之间以逗号分隔。

 

(3)在对象R1定义时,参数值就可以传递到构造函数的参数中,

   即参数“L”接收参数值“5”,

   参数“Ack”接收参数值“2”,

   参数“Def”接收参数值“3”,

   然后,再根据构造函数中的代码分别赋值给属性Life,Attack,Defend,

   所以,R1对象的生命值属性Life中的值为5,

   攻击力属性Attack中的值为2,

   防御力属性中Defend中的值为3。

 

       

 

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

 

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

    

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

进入游戏学习与训练