编辑代码

class Employee {
    private String name;
    private int age;
    private double salary;

    // 三个参数的构造方法,调用两个参数的构造方法
    public Employee(String newName, int newAge, double newSalary) {
        this(newAge, newSalary);  // 调用两个参数的构造方法
        System.out.println("三个参数的构造方法被调用");
        name = newName;  // 设置name属性
    }

    // 两个参数的构造方法,调用一个参数的构造方法
    public Employee(int newAge, double newSalary) {
        this(newSalary);  // 调用一个参数的构造方法
        System.out.println("两个参数的构造方法被调用");
        age = newAge;  // 设置age属性
    }

    // 一个参数的构造方法,调用没有参数的构造方法
    public Employee(double newSalary) {
        this();  // 调用没有参数的构造方法
        System.out.println("一个参数的构造方法被调用");
        salary = newSalary;  // 设置salary属性
    }

    // 没有参数的构造方法
    public Employee() {
        System.out.println("没有参数的构造方法被调用");
    }

    // 设置age属性的值为newAge
    void setAge(int newAge) {
        this.age = newAge;  // 使用this.age来正确访问当前实例的age属性
    }

    // 获取age属性的值
    int getAge() {
        return age;
    }

    public static void main(String[] args) {
        // 创建一个Employee对象,调用三个参数的构造方法
        Employee s1 = new Employee("李四", 30, 8000);
        s1.setAge(31);  // 设置年龄为31
        System.out.println("年龄是" + s1.getAge());  // 输出年龄
    }
}