面向对象this关键字-----利用构造方法相互调用实现代码重用

本文通过一个员工信息类的案例,详细解析了Java中构造方法的相互调用如何提升代码的可重用性。通过不同参数的构造方法,实现属性的灵活初始化,展示了构造方法间的调用机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造方法的相互调用最主要的目的是提升构造方法中执行代码的可重用性,为了更好地说明这个问题,下面通过一个构造方法的案例来进行说明。现在要求定义一个描述有员工信息的程序类,该类中提供有编号、姓名、部门、工资、在这个类中提供有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、其运行结果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值