点击查看:2015计算机等级考试二级Java入门教程章节汇总
点击查看:2015计算机等级考试二级Java入门教程第五章汇总
5.4 构造函数
当你建立一个类对象时,总要调用一个被称作构造函(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来累计已经建立的对象数目。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |