标识符预期错误(Java)
我是编程新手,可以使用帮助手。我创建了一个“Person”类和一个TestPerson文件来测试它(是的,这是一个任务)。标识符预期错误(Java)
我在第34-36行(在setters中)收到三个错误“标识符预期”。显然,这是一个菜鸟错误,但我似乎无法弄清楚。任何帮助,将不胜感激。提前致谢。
/******************************************************************
* program name: Person.java
* author: Nichol Albertson
* remarks: describes a Person object
Date: 3/26/13
********************************************************************/
import java.text.*;
class Person {
/**********************************************
* Local Variables
******************************************/
private String lastName;
private String firstName;
private String birthday;
/**********************************
* constructors - just a method
***********************************/
public Person(String lastName, String firstName) {
setLastName();
setFirstName();
setBirthday();
}
public Person(String lastName, String firstName, String birthday) {
initialize(lastName, firstName, birthday);
}
/**********************************
* set methods (setters)
***********************************/
public void setLastName(lastName);
public void setFirstName(firstName);
public void setBirthday(birthday);
/**********************************
* get methods (getters)
***********************************/
public String getLastName() {
return lastName;
}
public String getFirstName() {
return firstName;
}
public String getBirthday() {
return birthday;
}
/*******************************
* other methods
********************************/
public String getFirstLast() {
System.out.println(firstName + " " + lastName);
}
public String getLastFirst() {
System.out.println(lastName + ", " + firstName);
}
}
您需要为每个setter方法中的参数提供一个类型。该类型应该匹配您尝试设置的实例变量的类型。
此外,您应该为您的setter方法提供一个方括号,其中括号为{
和}
,您将参数值分配给您的实例变量。
@Downvoter,请解释您为什么downvoted。 – rgettman 2013-03-26 18:05:44
错误被显示,因为下列行:
public void setLastName(lastName);
public void setFirstName(firstName);
public void setBirthday(birthday);
Person
既不abstract class
也不是interface
。它的确是一个concrete class
。你不能只在concrete
类中声明方法。你也必须提供一些方法。这可能会以这种方式改变:
public void setLastName(String lastName){ this.lastName = lastName;}
public void setFirstName(String firstName){ this.firstName = firstName;}
public void setBirthday(String birthday){ this.birthday = birthday;}
此外,下面的方法定义完全错误:
的上述方法public String getFirstLast() {
System.out.println(firstName + " " + lastName);
}
public String getLastFirst() {
System.out.println(lastName + ", " + firstName);
}
两个有返回类型String
,但你要返回什么。这在你的代码中也是一个错误。
public String getFirstLast() {
return firstName + " " + lastName;
}
public String getLastFirst() {
return lastName + ", " + firstName;
}
public void setLastName(lastName);
public void setFirstName(firstName);
public void setBirthday(birthday);
如果类是一个普通的类,它既不接口和抽象类,所以方法必须有身体,另一点是,你需要提及的:他们应该被定义如下变量类型lastName,firstName和生日。
public void setLastName(String lastName)
{
//method's body
}
@Perception:你有没有在类定义中加入'abstract'? – 2013-03-26 17:34:06
查看问题的修订历史记录,是的,@Perception为班级添加了“抽象”。 – rgettman 2013-03-26 17:35:14
是的,我发指令编辑。现在修复。 – Perception 2013-03-26 17:37:02