プライベートコンストラクターのキャプチャイディオムを例で説明し、この種の設計が実際に必要な/不要な場所を指摘できますか?
2032 次
2 に答える
12
目的は、建設中の一時的な価値を獲得することです。
例は、Javaパズルのソリューション53に示されています。
public class MyThing extends Thing {
private final int arg;
public MyThing() {
this(SomeOtherClass.func());
}
private MyThing(int i) {
super(i);
arg = i;
}
}
この場合、スーパークラスコンストラクターに渡したいパラメーターをキャプチャして保存します。そのために、プライベートヘルパーコンストラクターを作成します。このコンストラクターは、パブリックコンストラクターによって呼び出されます。
于 2012-07-06T10:45:59.103 に答える