所以我是java新手,我正试图解决这个问题。到目前为止,我正在编写一个调用私有方法的公共方法,这两个方法都写在同一个类中。在测试公共方法时,我可以针对一个对象employeeOne 调用公共方法,该对象的参数由用户提供。我不确定这里的私有方法调用发生了什么,因为看起来我是在类(我认为)而不是具有已定义属性的对象上调用它。
所以这是我在一个名为 Employee 的类中编写的私有方法:
private static double computeGrossPay()
{
if (hoursWorked <= 40)
{
grossPay = (hoursWorked * payRate);
}
else if (hoursWorked >= 40)
{
grossPay = ((40 * payRate) + ((1.5 * payRate) * (hoursWorked - 40)));
}
return grossPay;
}
我试图找出一种在另一个类中调用这个方法的方法,显然因为它是一个私有方法,我不能在它所写的类之外的任何地方调用它。所以我写了一个公共方法来调用私有方法
public double grossPayDisplay()
{
return Employee.computeGrossPay();
}
这就是我的问题发挥作用的地方:到目前为止,这段代码有效,但我并不完全清楚它为什么有效。
这是我测试它的方法:
System.out.println(employeeOne.grossPayDisplay());
employeeOne 是从 Employee 类创建的对象,其参数由用户提供,我的问题是:
编译器如何从 Employee.computeGrossPay() 中的 Employee 转到 employeeOne?
或重申如何
return Employee.computeGrossPay()
实际上将属性传递给 computeGrossPay()?