私は小さなプロジェクトに取り組んでいます。予約のためのメインの抽象クラスと、ユーザーの名前/住所などの抽象クラスからメソッドを継承する2つのサブクラス、ホテル予約用とフライト予約用の2つのサブクラスがあります。スーパークラス/継承/コンストラクタの使用
新しいホテル予約のコンストラクタを作成するために、super()関数を使用して抽象クラスからメソッド/変数を継承する問題があります。
エラー:
Constructor in class booking can not be applied to given types.
そして、ここに私のコードだ:
import java.util.Scanner;
abstract class Booking{
private String fname;
private String lname;
private int HouseNo;
private String Street;
private String Postcode;
Scanner in = new Scanner(System.in);
//Parameterized Constructor
Booking(String FirstName, String Lastname, int Housenumber, String thestreet, String
thePostcode)
{
fname = FirstName;
lname = Lastname;
HouseNo = Housenumber;
Street = thestreet;
thePostcode = Postcode;
}
//Acessor Methods below
String getfname()
{
fname = "sds";
return fname;
}
void setFname(String FirstName)
{
fname = FirstName;
}
String getlname()
{
return lname;
}
void setLname(String LastName)
{
lname = LastName;
}
int getHouseNo()
{
return HouseNo;
}
void setHouseNo(int HouseNumber)
{
HouseNo = HouseNumber;
}
String getStreet()
{
return Street;
}
void setStreet(String StreetName)
{
Street = StreetName;
}
String getPostcode()
{
return Postcode;
}
void setPostcode(String ThePostcode)
{
Postcode = ThePostcode;
}
abstract public String Verification();
{
}
import java.util.Scanner;
class Hotel extends Booking{
Scanner in = new Scanner(System.in);
private String TheVerification;
private int guests;
private String Roomtype;
Hotel(){
super();
TheVerification = Verification();
guests = 0;
Roomtype = Roomtype();
}
public String Verification(){
System.out.println("Please provide your car reg as verification");
TheVerification = in.next();
return TheVerification;
}
public String Roomtype(){
System.out.println("Would you like a Premiun or Regular room?");
Roomtype = in.next();
return Roomtype;
}
public void print(){
System.out.println("Roomtype" + Roomtype);
}
}
問題は何ですか? – Adrian
特にスーパークラスからコンストラクタを呼び出す必要はありません。あなたはそれなしで試しましたか? – tartak
私はスーパークラスのメソッドを使用するSubクラスのコンストラクタをしたいです..または私は間違ったツリーを吠えています。本質的にプログラムのやりとりに関しては、ユーザーは必要なすべての要素を入力して、ホテル側のコンストラクターを使用します。私が抽象クラスを持っているという考えは、物事が2度書き込まれるのを防ぐことであり、それを使うことはプロジェクトの必要条件です。 (本質的にX、Y、Zを含むプログラムを作成してください)私はこれを間違った方法で取り組んでいれば、間違いから学ぶことができます。 –