私が望むことができるかどうか知りたいです。 私はLocaleの値を持っています。その値に応じて、自動的に親のコンストラクタでのみ適切なクラスをインスタンス化したいと思います。例えばロケールの値に応じて適切なクラスをインスタンス化します
:私は、例えばLocale.Franceのために、この
void aMethod()
{
doSomethings();
}
void doSomethings()
{
Parent parent = new Parent();
parent.callMethod();
}
とロケールに基づいて操作を行いたいと思います。新しいParent()を呼び出すとChildFRをインスタンス化するようにしたいと思います。
私が十分明確か、Javaで可能かどうか教えてください。すべてのアイデアは大歓迎です。
:よう
たり、ビルダーメソッドのシグネチャと一致するコール? if confitionが必要な場合があります。ロケールに基づいて – arkantos
、たとえばLocale.France。私はChildFRをインスタンス化するようにしたいです – BlueTux
あなたはそれを行うことはできません。 'new Foo()'は常に新しい 'Foo'をインスタンス化します。しかし、現在のロケールを見て、 'new Foo()'または 'new FrenchFoo()'を実行するstatic 'createFoo()'メソッドを追加することで、抽象レイヤーを追加することができます... –