Javaの子クラス内でのconstructorの書き方がわかりません
今JAVAで継承について勉強しています。
問題上でFirstCarが親クラス、SecondCarが子クラスになります。
FirstCarクラスでは4つの変数を使い、SecondCarでは先の4つにもう1つ新しい変数を加えて、
class FirstCar{
ptivate double timetobegin = 0;
private double timetofinish = 0;
private double totalkm = 0;
private double fueleco = 0;
FirstCar(double timetobegin, double timetofinish, double totalkm, double fueleco){ //constructor
this.timetobegin = timetobegin;
this.timetofinish = timetofinish;
this.totalkm = totalkm;
this.fueleco = fueleco;
}
(詳しいfunction省略)
}
class SecondCar extends FirstCar{
private double aircon = 0;
SecondCar(double timetobegin, double timetofinish, double totalkm, double fueleco, double aircon){
super(timetobegin, timetofinish, totalkm, fueleco);
this.aircon = aircon;
}
(function省略)
}
という感じに書いてコンパイルするとエラーメッセージが
クラス SecondCarのコンストラクタ SecondCarは指定された型に適用できません。
super(timeTostart, timeTofinish, totalkm, fueleco);
^
期待値: double,double,double,double,double
検出値: double,double,double,double
理由: 実引数リストと仮引数リストの長さが異なります
と出てしまいます。
かと言って期待値のようにaircon変数はsuperクラスにない変数ですので入れれませんし、どのように書き直せば良いのか、
また、なぜこのようなエラーが出てしまうのか教えてください。
回答1件
あなたの回答
tips
プレビュー