2016-07-05 12 views
1

C#コンストラクタなどのようなJavaコンストラクタを作成することは可能ですか?私は検索しようとしましたが何も見つかりませんでした。私はそれが間違っているかどうかを記述しているので、それが正しいかどうかわかりません。C#コンストラクタのようなJavaコンストラクタを作成できますか?

は、C#で、私はそう

​​

のようなコンストラクタを作成することができ、それは私がパラメータにNULL等しいことはできませんのようなので、

public static Main() 
{ 
    var fooB = new FooB(); 
    var noArg = new FooA(); 
    var withArg = new FooA(fooB: fooB); 
} 

それはそうのように呼び出すことができます。私のリポジトリクラスのための20の可能なパラメータの組み合わせでコンストラクタを作成しない方が好きなので、ちょっと好奇心と怠け者の私のところで。

ありがとうございました

+3

残念ながら、これはjavaでは不可能です。ビルダーパターンを使用すると、柔軟性が増し、すべての値(およびそれらの異なる組み合わせ)をコンストラクターに渡さないようにすることをお勧めします。 – f1sh

+0

ありがとうございます。 – Tomaltach

答えて

1

Javaはオプションパラメータをサポートしていません。

このようなものが必要ならば、私は連鎖したオーバーロードされたメソッドしか提案できません。

EDIT:もう1つのオプションは、すべての入力パラメータを含む単一のオブジェクトを持つことです。次に、 "保持"オブジェクト内の任意のものを設定し、それをコンストラクタに渡してそのまま使用することができます。

関連する問題