标识符预期错误(Java)

标识符预期错误(Java),java,class,compiler-errors,identifier,Java,Class,Compiler Errors,Identifier,我是编程新手,需要帮助。我创建了一个“Person”类和一个TestPerson文件来测试它(是的,这是一个赋值) 我在第34-36行(在setters中)得到三个错误“预期标识符”。显然,这是一个新手的错误,但我似乎无法理解。任何帮助都将不胜感激。提前谢谢 /****************************************************************** * program name: Person.java * author:

我是编程新手,需要帮助。我创建了一个“Person”类和一个TestPerson文件来测试它(是的,这是一个赋值)

我在第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方法提供一个带有大括号
{
}
的方法体,您可以将参数值分配给实例变量。

您需要为每个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-因此,我为什么要修复它。看看当前代码,抽象关键字被删除了。