在Java等面向对象编程语言中,构造函数是一种特殊的方法,用于初始化对象的状态。在某些情况下,您可能希望在构造函数中调用另一个构造函数,以避免代码重复并确保所有构造函数都遵循相同的初始化逻辑。以下是不同编程语言中如何在构造函数中调用其他构造函数的方法:
this()
关键字来调用同一个类中的另一个构造函数。请注意,this()
调用必须放在构造函数的第一行。public class MyClass {
private int x;
private int y;
public MyClass() {
this(0, 0); // 调用另一个构造函数
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
base
关键字来调用基类的构造函数。如果您希望调用同一类中的另一个构造函数,可以使用this()
关键字。public class MyClass {
private int x;
private int y;
public MyClass() : this(0, 0) // 调用另一个构造函数
{
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
__init__()
方法来定义构造函数。要在构造函数中调用另一个构造函数,只需在__init__()
方法内部调用它,就像调用普通方法一样。class MyClass:
def __init__(self):
self.x = 0
self.y = 0
self.__init__(0, 0) # 调用另一个构造函数
def __init__(self, x, y):
self.x = x
self.y = y
请注意,Python中没有显式的base
或this
关键字,因为所有方法都隐式地绑定到类实例。