学校の課題に取り組んでいる私は、抽象クラス Person、抽象クラス Person を拡張する Student、および学生を拡張する通常のクラス CollegeStudent を持っています。CollegeStudent はファイルから読み取り、すべての変数 (抽象スーパークラスに属するものを含む) を設定します。これはすべて正常に機能します。
ただし、抽象クラスにはコンストラクターが必要であり、これらのクラスは特に入力を独自に読み取ることができないため、複雑になります。そのため、(おそらく) コンストラクターを使用してそれぞれのクラスのデータ フィールドを設定することになっている状況がありますが、もちろん、最初に入力を読み取る必要があります。ここでの明らかな問題は、スーパーコンストラクターの呼び出しが CollegeStudent のコンストラクターの最初のものでなければならないことです。これが問題です。
すべてをそのまま実行してから、必要なすべてのフィールドをパラメーターとして受け取ることができる別のコンストラクター メソッドを使用できます。しかし、それが何を意味するのかわかりません。コンストラクターを使用するためだけに、ドライバーが CollegeStudent オブジェクトを作成し、(最初のオブジェクトの変数を使用して) 再度作成する必要があるのはなぜですか?
それ以外は、これがどのように行われるのかわかりません。また、このオプションは私には奇妙です--私にはポイントがわかりません。
前もって感謝します...