Java 构造函数

 

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


  经过前面的学习,目前,大家已经掌握到如何通过对象去调用类中属性并对其进行赋值。

 

  那么,在接下来的时间里面,我们就可以开始学习,如何去定义与使用“构造函数”。

 

  首先,我们会提出一个问题,为什么要使用构造函数

 

  那么,我们可以举一个例子,例如:我们定义一个“子弹类”,而类中有4个属性,分别是子弹的宽度与高度,以及子弹起始位置的X与Y坐标。然后,我们把这个“子弹类”通过代码先定义出来,代码如下:

 

class Bullet

{

 int  w;//子弹的宽度

 int  h;//子弹的高度

 int  x;//子弹起始位置的X坐标

 int  y;//子弹起始位置的Y坐标

};

 

  接下来,我们要定义1颗子弹的对象,同时,要为子弹中的4个属性进行赋值,分别是w等于10,h等于5,x等于0,y等于0,然后,我们先通过代码把这个要求实现出来,代码如下:

 

Bullet  BT1 = new Bullet();     //定义一颗子弹对象BT1

 

BT1.w = 10;  //子弹宽度为10

BT1.h = 5;    //子弹高度为5

BT1.x = 0;    //子弹起始位置的X坐标为0

BT1.y = 0;    //子弹起始位置的Y坐标为0

 

  然后,由于我们要对这4个属性进行赋初值,所以,我们通过对象BT1分别去调用这4个属性,所以,就要多写了4行代码。那么,有什么方法可以在定义对象时,把相应的属性进行初始化赋值呢?那么,这个方法就是使用构造函数。

 

 

 

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

 

构造函数的名字()

{

 构造函数的主体部分

}

 

格式与特点分析:

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

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

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

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

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

 

  通过上面的分析,大家就可以了解到,构造函数的定义格式,以及,构造函数可以在对象定义时自动调用,这样,我们就可以把需要进行初始化的属性写到该函数中,然后,定义对象就可以了。

 

 

 

接下来,我们就在上面定义的子弹类中定义一个构造函数,代码如下:

 

class Bullet

{

 int  w;//子弹的宽度

 int  h;//子弹的高度

 int  x;//子弹起始位置的X坐标

 int  y;//子弹起始位置的Y坐标

 

 Bullet() //构造函数Bullet必须与类名相同

 {

  //下面4行代码是需要进行赋初值的属性

  w = 10;

  h = 5;

  x = 0;

  y = 0;

 }

};

 

Bullet  BT1=new Bullet(); //定义对象时,就自动调用了构造函数Bullet()

 

代码分析:

(1)定义了Bullet类,同时,类中定义了构造函数Bullet()

(2)定义一颗子弹对象BT1,由于类中添加了构造函数,所以,在定义BT1对象时会自动调用构造函数Bullet(),这样,类中的4个属性就在定义BT1对象的同时一并完成了赋初值的工作,所以,BT1对象中的属性w就等于10,h就等于5,x与y就等于0。

 

       

 

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

 

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

    

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

进入游戏学习与训练