所以构造函数说的是预期的,错误不是声明而且;预期
Person num1, num2, num3;
num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);
num2=new Person(George, 5251 Lakewood St, 24, 9024489216);
num3=new Person(Michael, 2429 Inglis St, 56, 9024212345);
对象类
public Person() {
}
//constructor allows programmer to define variable values in demo class
public Person(String nm, String adr, int ag, long phn) {
name=nm;
address=adr;
age=ag;
phoneNumber=phn;
}
答案 0 :(得分:3)
num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);
应该是
num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);
构造函数按此顺序预期 String,String,int和long,由public Person(String nm, String adr, int ag, long phn)
定义。
没有(双)引号的Allison不是String。
答案 1 :(得分:1)
您没有将Name和Address的字符串传递给构造函数,请尝试更改
num1=new Person(Allison, 6600 Crescent Ave, 32, 9024231421);
到
num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);
答案 2 :(得分:1)
第1步:
首先,您可以检查您的Person
类对象是否已创建。
在
中打印一些消息 public Person() {
System.out.println("in default constructor");
}
如果你看不到任何print语句那么对象的问题。
第2步:
检查您传递的内容并传递的值为print or not
。
如果不打印则问题with your parameter(argument)
。
您的问题:
你是not passing actual string value
,你必须传递字符串值""
num1=new Person("Allison", "6600 Crescent Ave", 32, 9024231421);
许多SO用户给出了实际答案,但这些内容适用于功能阅读器,因此用户可以在下次看到并且不会出错。
答案 3 :(得分:0)
你正在调用构造函数,你的第一个参数不存在你已经定义了字符串,所以在调用构造函数时传入双引号
答案 4 :(得分:0)
因为字符串总是在双引号中使用。把你的参数作为双引号中的字符串。