014-002-009
コンストラクタチェーンを使った初期化
中級
問題説明
コンストラクタチェーンを使った初期化
この問題では: super()とthis()によるコンストラクタチェーンを使い、Vehicleを継承したCarクラスのフィールドを初期化し、結果を標準出力に表示するプログラムを作成します。
学習目標: super()とthis()を使ったコンストラクタチェーンの仕組みを理解する
概要
Vehicleクラスを継承したCarクラスを作成し、thisとsuperを使ったコンストラクタチェーンでフィールドを初期化するプログラムを作成してください。Scannerで車種・ドア数を読み込み、両方のコンストラクタを使って動作を確認します。
仕様
VehicleクラスにString typeフィールドとコンストラクタを定義CarクラスがVehicleを継承し、int doorsフィールドを追加Car(String type, int doors): super(type)でVehicleを初期化し、doorsを設定Car(String type): this(type, 4)でデフォルト4ドアとして委譲show()メソッドで<type> with <doors> doorsを出力- mainでScannerから入力を読み込み、両方のコンストラクタを使ってCarを作成しshow()を呼ぶ
入力形式
1行目: 1つ目の車の車種(String)
2行目: 2つ目の車の車種(String)
3行目: 2つ目の車のドア数(int)
出力形式
<type1> with 4 doors
<type2> with <doors2> doors
入出力例
入力:
Sedan
SUV
5
出力:
Sedan with 4 doors
SUV with 5 doors
