构造函数
当你建立一个类对象时,总要调用一个被称作构造函(ConStructor)的特殊方法。如果你没有为类定义构造函数,编译器将在类中提供一个没有任何操作的默认构造函数。构造函数的主要目的是提供一种方法,对正在建立的对象的实例变量单独进行初始化。如果你正在用名字John Dae建立一个person对象,并希望能够初始化成员,让它保存这个人的名字"john Doe".很清楚,这就是构造函数能够完成的操作。在类中,已经定义的初始化块总是在构造函数之前被执行。
构造函数有两个特别的性质不同于其他的类方法:
·构造函数永远没有返回值,你也决不能为它指定返回类型,甚至是void类型
·构造函数的名字永远与类名相同
让我们来看一个例子,为Sphere类定义增加一个构造函数:
Class sphere
{
Static final double PI=3.14; //class variable that has fixed value
Static int count=0 //class variable to count objects
//Instance variables
Double radius; //Radius of a sphere
Double xCenter //3D coordinates
Double yCenter //of the center
Double zcenter //of a sphere
//class constructor
sphere(double x,double y,double z)
(
radius-cheRadius; //set the radius
}
//Set the coordinates of the center
xCenter=x;
yCenter=y;
zCenter=z;
++count; //Update object count
//static method to report the number of objects created
Static int getCount()
{
Return count; //Return current object count
}
//Instance method to calculate volume
Double volume()
{
Return 4.0/3.0*PI*radius*radius*radius;
}
}
构造函数的定义在以上代码中的阴影部分。我们正在逐步积累更多的代码来定义Sphere类,然而,你会发现我们己经集中在一起的代码段都十分明了清楚。
正像你看到的那样,构造函数名与类名相同,并且没有指定返回类型。一个构造函数可以拥有任意多个参数,也可以没有参数。在我们的例子中有四个参数,并且每个实例变量都用相应的参数值进行初始化。有这样一种情况,我们可能己经在参数中使用了radius这个名字,那么,当我们要引用同名的实例变量时,就需要借助于关键字this来实现。构造函数的最后一项操作是为类变量递增1,使得count来累计已经建立的对象数目。
考无忧小编推荐:
更多计算机等级考试真题及答案>>>点击查看
想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看