创建其他类的数组。

时间:2014-05-25 09:34:19

标签: java arrays class

我想在类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

1 个答案:

答案 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构造函数,因为我们没有基类的默认构造函数,我们得到了编译错误。