java - 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;
谁能告诉我为什么以及如何解决这个问题?谢谢!
解决方案
据我所知,问题出在您的构造函数中,而不是在您的设置器中。参数和使用的名称不匹配 -> 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;
}
推荐阅读
- c# - Fluent Validation,在编辑模式下,需要在属性更改时触发规则
- java - 如何使默认 EntityManager bean 来自 Spring 项目中的 @Primary EntityManagerFactory?
- python - 试图在kivy的速度计上添加动画
- batch-file - 为什么 `set test=%test:*=.*%` 不起作用,说 `=.*% is unexpected at this time`?
- java - 是什么导致这段代码抛出异常?
- node.js - npm start 在 CRA 中无法“正常工作”
- node.js - 同步遍历 Firestore 集合
- node.js - NPM 消耗所有可用内存
- string - 使用 PDA,证明 ( x * y ) + x 是一个有效的字符串
- react-native - 除了使用 React Native 登录时,如何在任何屏幕上显示抽屉(SideMenu)?