我想得到 折扣 来自 getter. 折扣根据工作小时数不同而不同。我已经设置了参数,当我使用setMethods时,我可以得到折扣,例如,如果我使用了
e.setHourlyWorked(56);
System.out.println(e.getHourlyWorked());
System.out.println(e.getDiscount());
我得到了预期的结果。
但我不能得到 e.getDiscount());
从参数本身,即
Employee e= new Employee(23, 22,"Nab","Kar","000");
System.out.println(e.getHourlyWorked());
System.out.println(e.getDiscount());
我得到0作为折扣。
人物类
public class Person {
//private fields
private String firstName;
private String surname;
private String phoneNumber;
private int discount;
public Person(){
//Default Constructors
firstName="John";
surname="SMITH";
phoneNumber="0000";
}//constructors with all the inputs
public Person(String fn, String sn, String pn){
firstName=fn;
surname=sn;
phoneNumber=pn;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String fn) {
firstName=fn;
}
public String getSurname() {
return surname;
}
public void setSurname(String sn) {
surname = sn;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String pn) {
phoneNumber = pn;
}
@Override
public String toString(){
return getFirstName()+" "+getSurname()+" "+getPhoneNumber();
}
雇员等级
package lollyShopSystem;
public class Employee extends Person {
private double hourlyWorked;
private double wage;
private int dis;
public Employee(){
//Default Constructors
hourlyWorked=30;
wage=34;
}
public Employee(double hourlyWorked, double wage, String fn, String sn, String pn) {
super(fn, sn, pn);
this.hourlyWorked = hourlyWorked;
this.wage = wage;
}
public double getHourlyWorked() {
return this.hourlyWorked;
}
public void setHourlyWorked(double hourlyWorked) {
this.hourlyWorked = hourlyWorked;
if (this.hourlyWorked<=20){
this.dis=5;
}
else if (this.hourlyWorked>20 && this.hourlyWorked<=30){
this.dis=10;
}
else {
this.dis=15;
}
}
public double getWage() {
return this.wage;
}
public void setWage(double wage) {
this.wage = wage;
}
public int getDiscount(){
return this.dis;
}
}
赋值 hourlyWorked
使用构造函数不会改变折扣。您可以用 setHourlyWorked
函数代替。
public Employee(double hourlyWorked, double wage, String fn, String sn, String pn) {
super(fn, sn, pn);
setHourlyWorked(hourlyWorked);
this.wage = wage;
}