我正在开发一个小项目。将有一个主要抽象类的预订,两个子类,一个用于酒店预订,另一个用于航班预订,它们都继承抽象类的方法,例如用户的姓名/地址等。使用SuperClass/Inheritance /构造函数问题
尝试为一个新的酒店预订创建一个构造函数,我遇到了一个问题,它使用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 2012-02-28 14:10:40
您不必特别调用超类的构造函数。你没有尝试过吗? – tartak 2012-02-28 14:11:51
我想要Sub类的构造函数使用超类方法..或者我吠叫错误的树。基本上在程序交互中,用户将使用Hotel侧的构造函数,输入所有需要的元素。对于我来说抽象类的想法是防止事情被写出两次,并且使用一个是项目的一个要求。 (本质上创建一个包括X,Y,Z的程序)如果我解决了这个错误的方式,请这么说,只能从错误中学习.. – 2012-02-28 14:17:19