this()を使用してオーバーロードされたコンストラクタを呼び出すと便利なことがある理由の1つは、コードの不要な重複を防ぐことができる理由の1つです。あなたのクラスはしばしばオブジェクトコードが小さいためです。これは、負荷時間が問題となるインターネット経由で配信されるプログラムにとって特に重要です。コンストラクタでこのコードとインラインコードを使用する場合のトレードオフ
ただし、注意する必要があります。 this()を呼び出すコンストラクターは、初期化コードのインラインをすべて含むコンストラクターよりも少し遅く実行されます。これは、2番目のコンストラクターが呼び出されたときに使用される呼び出しと戻りのメカニズムがオーバーヘッドを追加するためです。あなたのクラスが少数のオブジェクトの作成に使用される場合、または がthis()を呼び出すクラスのコンストラクタがめったに使用されない場合、実行時パフォーマンスのこの低下はおそらく重要ではありません。
クラスの読み込みにかかる時間はどのくらいですか? と これをコンストラクタで使用してからインラインコードを使用するまでのトレードオフのポイントは何ですか?
ここでは本当に議論の余地がありません。理論上のパフォーマンス上の利点ではなく、読みやすさとメンテナンスのためのコードを記述してください。つまり、コードを一度書き、 'this()'を使って必要なところで呼び出します。 – erickson
パフォーマンスに問題はありますか?コードを繰り返すので、保守が難しくなるのですか? –
パフォーマンスは完全に無関係です。最もメンテナンス可能なコードを使用してください。コード内の重複は、変更が必要なときに、コードが重複しているすべての場所で行うことを忘れてしまう大きなチャンスがあることを意味します。 –