首页 > 解决方案 > 构造函数声明中的语法错误:预期为“{”

问题描述

我不明白我对这个构造函数做错了什么:

  public class Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
  {
    fname=first_name;
    lname=last_name;
    hw1_grade=home1;
    hw2_grade=home2;
    quiz1_grade=quiz1;
    quiz2_grade=quiz2;
    quiz3_grade=quiz3; 
    exam1_grade=exam1;
    exam2_grade=exam2;
  }

编译器说:'{'预期。另外: < Identifier > 期望它一遍又一遍地说这个错误

标签: java

解决方案


构造函数在类定义中声明。所以你首先定义调用,然后在类定义中,你实现你的构造函数:

public class Student {
    //fields
    String fname;
    String lname;
    //... etc.

    //here you declare your constructor, like so:
    public Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
      {
            fname=first_name;
            lname=last_name;
            hw1_grade=home1;
            hw2_grade=home2;
            quiz1_grade=quiz1;
            quiz2_grade=quiz2;
            quiz3_grade=quiz3; 
            exam1_grade=exam1;
            exam2_grade=exam2;
      }
}

另外,在我看来,对于构造函数来说,这些参数太多了。为什么不只包括最重要的(名字、姓氏等),然后使用 setter 方法设置考试成绩?


推荐阅读