
为什么java这段代码中类的两个属性初始化了两次
packagecn.pb.employee;/***员工类*/publicabstractclassEmployee{privateStringemployeeId;//...
package cn.pb.employee;
/**
* 员工类
*/
public abstract class Employee {
private String employeeId;//员工编号
private String employeeName;//员工姓名
private float basicPay;//基本工资
public abstract float getPay();//计算工资
public Employee(){};
/**
* 为员工的编号、姓名赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
*/
public Employee(String employeeId,String employeeName){
this.employeeId=employeeId;
this.employeeName=employeeName;
}
/**
* 为员工的编号、姓名、基本工资赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
* @param basicPay 基本工资
*/
public Employee(String employeeId,String employeeName,float basicPay){
this.employeeId=employeeId;
this.employeeName=employeeName;
this.basicPay=basicPay;
代码中员工的编号和姓名赋了两次值 展开
/**
* 员工类
*/
public abstract class Employee {
private String employeeId;//员工编号
private String employeeName;//员工姓名
private float basicPay;//基本工资
public abstract float getPay();//计算工资
public Employee(){};
/**
* 为员工的编号、姓名赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
*/
public Employee(String employeeId,String employeeName){
this.employeeId=employeeId;
this.employeeName=employeeName;
}
/**
* 为员工的编号、姓名、基本工资赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
* @param basicPay 基本工资
*/
public Employee(String employeeId,String employeeName,float basicPay){
this.employeeId=employeeId;
this.employeeName=employeeName;
this.basicPay=basicPay;
代码中员工的编号和姓名赋了两次值 展开
2个回答
展开全部
这不叫初始化了两次,这个叫构造方法。new的时候用那个构造方法才会调用该方法进行初始化的。如果你觉得别扭可以这样写:
public abstract class Employee {
private String employeeId;//员工编号
private String employeeName;//员工姓名
private float basicPay;//基本工资
public abstract float getPay();//计算工资
public Employee(){};
/**
* 为员工的编号、姓名赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
*/
public Employee(String employeeId,String employeeName){
this.employeeId=employeeId;
this.employeeName=employeeName;
}
/**
* 为员工的编号、姓名、基本工资赋初始值
* @param employeeId 员工编号
* @param employeeName 员工姓名
* @param basicPay 基本工资
*/
public Employee(String employeeId,String employeeName,float basicPay){
this(employeeId, employeeName);
this.basicPay=basicPay;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询