問題タブ [constructor-chaining]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
46 参照

java - パラメーター化されたコンストラクター チェーン内の派生クラスが、派生コンストラクターを使用して初期化された基本クラスのフィールドにアクセスできるようにする方法

構成ファイルのパラメーター化されたコンストラクターを持つクラス Feedforward があります。

ここで、super(cfg) は Network クラスのコンストラクターを呼び出します。ここで、ファイルの解析とユニバーサル フィールドの格納を処理します。

テストを実行すると、NullPointerException がスローされます。Feedforward の型変数には、cfgPath/cfg のファイルに保存されている値が割り当てられていないため、例外です。コンストラクター チェーンがこれを行わないのはなぜですか。

0 投票する
2 に答える
49 参照

java - コンストラクターをチェーンするための規則または正しい順序はありますか?

私はこれについて考えていて、これについてさまざまな例を見てきました。通常、コンストラクターを上向きにチェーンします。したがって、デフォルトのコンストラクターから始まる 4 つの異なるコンストラクターがある場合、1 つの引数を渡す必要があるコンストラクターを呼び出すコンストラクター、渡すために 2 つの引数が必要なコンストラクターを呼び出すコンストラクターなど、使用可能なオブジェクトがあります。すべてのフィールドがデータを保持します。

別のケースが思いつかなかったので、コンストラクターをチェーンする別のアプローチはありますか? 渡すのに 3 つの引数が必要なコンストラクターが、2 つの引数のみを渡す必要があるコンストラクターを呼び出す必要があるのはなぜですか?