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