如果某个构造方法的部分行为与已有的构造方法相同,则可以在该构造函数中调用已有的构造函数。Java提供了一种特殊的语法来完成这种工作,可用下面的代码来调用当前类中的构造方法:
This(arg1,arg2,arg3);
例如,来看一个简单的类,它使用圆心坐标(x,y)和半径长度定义了一个圆。类MyCircle可能有两个构造函数:一个定义了半径,另一个将半径设置为默认值1:
class MyCircle {
int x,y,radius;
MyCircle(int xPoint, int yPoint, int radiusLength) {
this.x = xPoint;
this.y = yPoint;
this.radius = radiusLength;
}
MyCircle(int xPoint, int yPoint) {
this(xPoint,yPoint,1);
}
}
MyCircle的第二个构造函数只接受圆心的x和y坐标作为参数。由于没有定义半径,因此将使用默认值1——调用第一个构造函数,并将参数xPoint、yPoint和整数字面量1作为参数传递给它。