Java 错误:构造函数族(字符串、字符串、int)未定义
我对Java相当陌生。我得到一个错误“构造函数族(String,String,int)未定义”。我不知道这是什么意思。这里需要一些帮助 编辑:我遗漏了额外的3个参数,也遗漏了31个左右的引号 Main.javaJava 错误:构造函数族(字符串、字符串、int)未定义,java,Java,我对Java相当陌生。我得到一个错误“构造函数族(String,String,int)未定义”。我不知道这是什么意思。这里需要一些帮助 编辑:我遗漏了额外的3个参数,也遗漏了31个左右的引号 Main.java public class Main { public static void main(String[] args){ Family person = new Family("CHRIS", "PEREZ", 31); String person1 = person.
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.");
}
}
这是因为您的
系列
类只有一个六参数构造函数,需要提供所有六个字段。您的电话:
Family person = new Family("CHRIS", "PEREZ", 31);
仅提供所需六个选项中的三个。您可以重写构造函数,例如:
public Family(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
...
}
但是您应该对其他构造函数中未提供的其他字段执行一些操作。您正在调用
系列
类构造函数,如下所示:
Family person = new Family("CHRIS", "PEREZ", 31);
public Family(String firstName, String lastName, int age, int phoneNumber,
String dob, String married) {
但类中唯一的构造函数定义如下:
Family person = new Family("CHRIS", "PEREZ", 31);
public Family(String firstName, String lastName, int age, int phoneNumber,
String dob, String married) {
请注意,它的参数比您输入的参数多:phoneNumber、dob、married
。在Java中,必须为所有参数赋值:
Family person = new Family("CHRIS", "PEREZ", 31, 123456, "5/Apr/1975", "who's asking");
或者,您需要定义一个只需要名字、姓氏和年龄的新构造函数。谢谢。我包括了其余的参数,但仍然得到了那个错误。同样的错误。我有不同的文件有关系吗?一个族和一个主族?那么您从调用6参数构造函数的代码行中得到一个错误,它说
族(String,String,int)未定义
?那不太可能。至少错误是不同的构造函数族(String,String,int,String,String,String)未定义。它添加了我丢失的额外三个参数。您正在为电话号码传递字符串
,如“(555)123-456”
,但方法声明具有int
,因此它只能接受555123456之类的号码。它可能应该是字符串