public final Class MoneyI implements Money {
public MoneyI(int a, Currency b) {
}
public MoneyI(int a, String b) {
b= b.equals("A")?"B":b;
this(a, Currency.getInstance(b));
}
}
明らかに、2番目のコンストラクタは、コンストラクタ呼び出しの最初の文であることを示すエラーをスローします。プログラミングトリック:コンストラクタコールの前に変数を変更できない
コールする前に文字列を変更するにはどうすればよいですか? new moneyI(a, Currency.getInstance(b))
は、MoneyIの新しいインスタンスを作成し、同じ呼び出しで変更しないため、実行できません。
コードでエラーを修正してください。 – ChiefTwoPencils
この文を 'Currency.getInstance()'のパラメータの中に入れることができます。割り当てとすべて。 – 4castle
[ファクトリメソッド](https://en.m.wikipedia.org/wiki/Factory_method_pattern) –