【发布时间】:2013-12-24 09:53:46
【问题描述】:
什么是构造函数链以及它是如何在java中实现的,请举个例子
【问题讨论】:
-
你为什么不提出你的想法,你为什么这么想? (而不是要求我们为您在网上找到众多教程之一..)
标签: java
什么是构造函数链以及它是如何在java中实现的,请举个例子
【问题讨论】:
标签: java
构造函数链接是一种技术,当您的所有构造函数都引用类中的单个构造函数时,该构造函数为省略的参数提供默认值。目标是明确对象构造并减少冗余:
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");
}
}
【讨论】:
当您有公共嵌套类时使用构造函数链接。
例如
public class A {
public class B {
public class C {
}
}
}
要创建一个 C,你需要一个 B,它需要一个 A。
C c = new A().new B().new C();
恕我直言,这打破了封装,您应该在每个类中都有一个方法,该方法可以返回一个嵌套类,而不是在外部创建它们。
【讨论】: