You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Students类无参构造、setStudent及printStudent方法实现咨询

Java Students类功能补全实现

1. 修改后的Students类完整代码

public class Students{
    private String Name;
    private int Grade;
    private double CGPA;

    // 新增无参构造方法
    public Students(){
        // 可自定义默认值,也可留空,后续通过setStudent赋值
        this.Name = "";
        this.Grade = 0;
        this.CGPA = 0.0;
    }

    // 原有带参构造方法
    public Students(String Name, int Grade, double CGPA){
        this.Name = Name;
        this.Grade = Grade;
        this.CGPA = CGPA;
    }

    // 新增setStudent批量赋值方法
    public void setStudent(String name, int grade, double cgpa){
        setName(name);
        setGrade(grade);
        setCGPA(cgpa);
    }

    // 新增printStudent输出方法
    public void printStudent(){
        System.out.println("学生姓名:" + getName() + ",年级分数:" + getGrade() + ",CGPA:" + getCGPA());
    }

    // 原有getter、setter保持不变
    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;
    }
}

2. 修改后的主类LAB4EX1完整代码

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);

        // 调用printStudent输出信息
        student1.printStudent();
        student2.printStudent();
        student3.printStudent();

        // 无参构造+setStudent使用示例
        Students student4 = new Students();
        student4.setStudent("Ali", 89, 3.3);
        student4.printStudent();
    }
}

补充说明

  • 无参构造是没有入参的构造方法,Java默认会给没有定义任何构造的类生成无参构造,如果你已经定义了带参构造,就需要手动声明无参构造才能使用
  • printStudent方法可以根据需要调整输出格式,比如换行、增加分隔符等
  • setStudent方法也可以直接通过this.Name = name的方式赋值,复用现有setter的好处是如果后续setter里增加了校验逻辑,不需要重复写代码

内容的提问来源于stack exchange,提问作者adnanadel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:30:03