我是一个Java新手。我得到了一个错误“构造函数家族(字符串,字符串,int)未定义”。我不知道这是什么意思。需要一点帮助。
编辑:我缺少了额外的3个参数,也缺少了31个左右的引号。
Main.java
public class Main {
public static void main(String[] args){
Family person = new Family("CHRIS", "PEREZ", 31);
String person1 = person.getPerson();
System.out.println(person1);
}
}
Family.java
public class Family {
String firstName;
String lastName;
int age;
int phoneNumber;
String dob;
String married;
public Family(String firstName, String lastName, int age, int phoneNumber,
String dob, String married) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.phoneNumber = phoneNumber;
this.dob = dob;
this.married = married;
public String getPerson() {
return ("Hi my name is"+this.firstName+" "+ this.lastName+"."+"I am "+this.age+" years old.");
}
}
3条答案
按热度按时间atmip9wb1#
这是因为
Family
类只有一个六参数构造函数,需要提供所有六个字段。您的调用:只提供了所需的六个中的三个。您可以重写构造函数,例如:
但是你应该对你在其他构造函数中提供的,但在这里没有提供的其他字段做些什么。
cgfeq70w2#
你可以像这样调用
Family
类构造函数:但是类中唯一的构造函数是这样定义的:
看到它有比你传入的更多的参数:
phoneNumber, dob, married
。在Java中,你必须给所有参数赋值:或者,您需要定义一个新的构造函数,它只需要firstName、lastName和age。
6ojccjat3#
当以错误的顺序调用构造函数参数时,也可能发生这种情况。