在 java 中定义构造函数

define constructors in java

我正在编写 java 代码来创建 class 学生,我应该定义两个构造函数,一个必须带参数,一个不带参数我已经完成了带参数的那个但是我在理解如何做没有参数的问题时遇到了问题这就是我必须做的: setStudent() 接受三个参数:字符串名称、整数成绩和双精度 cgpa 值。 它将这些参数存储到class的三个成员变量中。 getNamethat returns 存放成员变量名的值。 getGradethat returns 成员变量grade中存储的值。 getCGPAthat returns 将值存入成员变量cgpa。 显示三个成员变量值的printStudent。 我做了最多但我不知道如何处理最后一件事 printStudent.

My class :

    public class Students{
       private String Name;
       private int Grade;
       private double CGPA;
       public Students(String Name, int Grade, double CGPA){
          this.Name = Name;
          this.Grade = Grade;
          this.CGPA = CGPA;
       }
       public String getName(){
          return Name;
       }
       public void setName(String Name){
          this.Name = Name;
       }
       public int getGrade(){
          return Grade;
       }
       public void setGrade(int Grade){
          this.Grade = Grade;
       }
       public double getCGPA(){
          return CGPA;
       }
       public void setCGPA(double CGPA){
          this.CGPA = CGPA;
       }
    }

and that is my main :

    public class LAB4EX1{
       public static void main(String [] args){
          Students student1 = new Students("Nasser", 90, 3.4);
          Students student2 = new Students("Adnan", 92, 3.72);
          Students student3 = new Students("Mohammed", 91, 3.5);
       }
    }

我需要让它为我打印输出。 非常感谢任何帮助。

您确实声明了一个不带任何参数的构造函数并覆盖了 toString 方法:

public class Students{
        private String Name;
        private int Grade;
        private double CGPA;
        public Students(String Name, int Grade, double CGPA){
            this.Name = Name;
            this.Grade = Grade;
            this.CGPA = CGPA;
        }
        public Students(){ // empty constructor
        }
        public String getName(){
            return Name;
        }
        public void setName(String Name){
            this.Name = Name;
        }
        public int getGrade(){
            return Grade;
        }
        public void setGrade(int Grade){
            this.Grade = Grade;
        }
        public double getCGPA(){
            return CGPA;
        }
        public void setCGPA(double CGPA){
            this.CGPA = CGPA;
        }

        @Override
        public String toString() {
            return "Students{" +
                    "Name='" + Name + '\'' +
                    ", Grade=" + Grade +
                    ", CGPA=" + CGPA +
                    '}';
        } // toString() for printing your three fields
    }