什么是构造函数链接以及它在java中是如何实现的?

时间:2013-12-24 09:53:47

标签: java

什么是 构造函数链接 以及如何在java中实现,请举例说明

2 个答案:

答案 0 :(得分:1)

构造函数链接是一种技术,当所有构造函数引用类中的单个构造函数时,为省略的参数提供默认值。目标是澄清对象构造并减少冗余:

public static final class Foo{
    private final String a;
    private final String b;
    private final String c;
    private final String d;

    public Foo(String a, String b, String c, String d){
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
    }

    public Foo(String a, String b, String c){
        this(a, b, c, "d");
    }

    public Foo(String a, String b){
        this(a, b, "c");
    }
}

答案 1 :(得分:0)

当您使用公共嵌套类时,将使用构造函数链接。

e.g。

public class A {
    public class B {
        public class C {
        }
    }
}

要创建一个C,你需要一个需要A的B。

C c = new A().new B().new C();

恕我直言,这打破了封装,你应该在每个类中都有一个方法,它可以返回一个嵌套类而不是在外部创建它们。