Java编程中的构造函数链接
构造函数链接是指从其他构造函数调用一个构造函数。它有两种类型。
在相同的类中-使用this()
关键字引用当前类的构造函数。确保这this()
是构造函数的第一个语句,并且至少应有一个不使用该this()
语句的构造函数。
从超级/基类-使用super()
关键字引用父类构造函数。确保这super()
是构造函数的第一条语句。
示例
class A { public int a; public A() { this(-1); } public A(int a) { this.a = a; } public String toString() { return "[ a= " + this.a + "]"; } } class B extends A { public int b; public B() { this(-1,-1); } public B(int a, int b) { super(a); this.b = b; } public String toString() { return "[ a= " + this.a + ", b = " + b + "]"; } } public class Tester { public static void main(String args[]) { A a = new A(10); System.out.println(a); B b = new B(11,12); System.out.println(b); A a1 = new A(); System.out.println(a1); B b1 = new B(); System.out.println(b1); } }
输出结果
[ a= 10] [ a= 11, b = 12] [ a= -1] [ a= -1, b = -1]