标识符预期错误(Java)
我是编程新手,需要帮助。我创建了一个“Person”类和一个TestPerson文件来测试它(是的,这是一个赋值) 我在第34-36行(在setters中)得到三个错误“预期标识符”。显然,这是一个新手的错误,但我似乎无法理解。任何帮助都将不胜感激。提前谢谢标识符预期错误(Java),java,class,compiler-errors,identifier,Java,Class,Compiler Errors,Identifier,我是编程新手,需要帮助。我创建了一个“Person”类和一个TestPerson文件来测试它(是的,这是一个赋值) 我在第34-36行(在setters中)得到三个错误“预期标识符”。显然,这是一个新手的错误,但我似乎无法理解。任何帮助都将不胜感激。提前谢谢 /****************************************************************** * program name: Person.java * author:
/******************************************************************
* 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方法提供一个带有大括号
{
和}
的方法体,您可以将参数值分配给实例变量。您需要为每个setter方法中的参数提供一个类型。该类型应与您尝试设置的实例变量的类型匹配
此外,您应该为setter方法提供一个带有大括号
{
和}
的方法体,在该方法体中,您将参数值分配给实例变量。由于以下行而显示错误:
public void setLastName(lastName);
public void setFirstName(firstName);
public void setBirthday(birthday);
Person
既不是抽象类
也不是接口
。它确实是一个具体类
。您不能只在具体类
中声明方法。您还必须提供方法体。这可以通过以下方式进行更改:
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);
Person
既不是抽象类
也不是接口
。它确实是一个具体类
。您不能只在具体类
中声明方法。您还必须提供方法体。这可以通过以下方式进行更改:
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;
}
如果类是一个普通类,它既不是接口也不是抽象类,因此方法必须有主体,另一点是您需要提到变量的类型lastName、firstName和birth
public void setLastName(String lastName)
{
//method's body
}
如果类是一个普通类,它既不是接口也不是抽象类,因此方法必须有主体,另一点是您需要提到变量的类型lastName、firstName和birth
public void setLastName(String lastName)
{
//method's body
}
@Perception:您是否已将
摘要
添加到类定义中?查看问题的修订历史记录,是的,@Perception已将摘要
添加到类中。是的,我对该编辑进行了编辑。现在已修复。@Perception但OP没有在原始代码中将类声明为抽象类。@VishalK-因此,我为什么要修复它。查看当前代码,抽象关键字已删除。@Perception:您是否已将abstract
添加到类定义中?查看该问题的修订历史记录,是的,@Perception已将abstract
添加到类中。是的,我已完成编辑。现在已修复。@Perception但OP没有在原始代码中将类声明为抽象类。@VishalK-因此,我为什么要修复它。看看当前代码,抽象关键字被删除了。