首页 > 解决方案 > Set 方法在扩展类中找不到符号?

问题描述

这是我的代码:

public class PTEmployee extends Employee
{
   private int nHours;
   private float wages;

public PTEmployee(String name, String ssn, String position, Date dateOfBirth,
                 float pay, int nHours, float wages)
{
    super(name,ssn,position,dateOfBirth,pay);
    nHours = nh;
    wages = w;
    pay = 0;
}
public void raise(float amount)
{
    wages = wages + amount;
    pay = nHours * wages;
}  
public void setNHours(int nh)
{
    nHours = nh;
}
public void setWages(float w)
{
    wages = w;
}
public int getNHours()
{
    return nHours;
}
public float getWages()
{
    return wages;
}
}

当我尝试编译时,它给了我错误:在 set 方法中找不到符号的 nh 和 w:nHours = nh; 工资 = w;

谁能告诉我为什么以及如何解决这个问题?谢谢!

标签: javaclassmethods

解决方案


据我所知,问题出在您的构造函数中,而不是在您的设置器中。参数和使用的名称不匹配 -> nh 是 nHours(在 params 中)和 w = 工资(在 params 中)

应将构造函数更改为:

public PTEmployee(String name, String ssn, String position, Date dateOfBirth,
                 float pay, int nHours, float wages)
{
    super(name,ssn,position,dateOfBirth,pay);
    this.nHours = nHours;
    this.wages = wages;
    pay = 0;
}

推荐阅读