我想在类Donator中创建一个类Person的数组,但是我得到了这个错误"错误:构造函数类Person中的Person不能应用于给定的类型;"
我错过了任何重要的代码吗?
这是我的代码。
Person.java
public class Person
{
private String Name, Address, Gender, BloodType;
private int ICNumber;
private double Height, Weight;
//constructor
public Person(String n, String add, String gen, String bt, int ic, double h, double w)
{
Name = n;
Address = add;
Gender = gen;
BloodType = bt;
ICNumber = ic;
Height = h;
Weight = w;
}
//abstract method
//abstract void printPerson();
} //close Person
Donator.java
public class Donator extends Person
{
private String donatorID;
private Person[] myDonator;
private int numberOfDonator;
//constructor
public Donator(String id, String d)
{
donatorID = id;
myDonator = new Person[2];
}
public String getDonatorID()
{
return donatorID;
}
}//close Donator
答案 0 :(得分:2)
由于您要在Person
类中扩展Donator
,因此您应首先在Donator
类中调用超级构造函数。
//constructor
public Donator(String id, String d)
{
// this is the Person constructor.
super("some string", "some string", "some string", "some string", 1, 1, 1);
donatorID = id;
myDonator = new Person[2];
}
这是因为,java编译器试图将代码放在构造函数中,这将调用基类的Default构造函数,因为我们没有基类的默认构造函数,我们得到了编译错误。