构造方法的相互调用最主要的目的是提升构造方法中执行代码的可重用性,为了更好地说明这个问题,下面通过一个构造方法的案例来进行说明。现在要求定义一个描述有员工信息的程序类,该类中提供有编号、姓名、部门、工资、在这个类中提供有4个构造方法。
【无参构造】编号定义为1000,姓名定义为无姓氏,其它内容均为默认值;
【单参构造】传递编号,姓名定义为“新员工”,部门定义为“未定”,工资为0.0;
【三餐构造】传递编号,姓名,部门,工资为2500.00;
【四参构造】所以铺的属性全部进行传递。
public class Emp {
private long empno;
private String name;
private String dept;
private double salary;
public Emp() {
this(1000, "无姓氏", null, 0.0);
}
public Emp(long empno) {
this(empno, "新员工", "未定", 0.0);
}
public Emp(long empno,String name,String dept) {
this(empno,name,dept,2500.00);
}
public Emp(long empno,String name,String dept,double salary) {
this.empno = empno;
this.name = name;
this.dept = dept;
this.salary = salary;
}
public long getEmpno() {
return empno;
}
public void setEmpno(long empno) {
this.empno = empno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getInfo() {
return "雇员信息:" + this.empno + "、雇员姓名:" + this.name + "、雇员所在部门:" + this.dept + "、基本工资:" + this.salary;
}
}
1、和之前一样,先定义这个类,在定义我们的员工属性。
2、根据题目,我们构造无参、单参、三参、四参方法,其次中我们用this调用四参的构造方法
3、在全参方法中我们定义属性内容
4、然后我们通过getinfo()的方法返回成员信息
public class JavaDemo {
public static void main(String[] args) {
Emp emp = new Emp(50,"张三","外交部",10000);
System.out.println(emp.getInfo());
}
}
5、在测试代码中,我们调用main主函数,并且进行实例化对象。在其同进行赋值。
6、其运行结果为: