だから私はJavaに不慣れで、これに頭を悩ませようとしています。これまでのところ、プライベートメソッドを呼び出すパブリックメソッドを作成しています。どちらも同じクラスで作成されています。publicメソッドをテストするとき、パラメーターがユーザーによって提供されるオブジェクトemployeeOneに対してpublicメソッドを呼び出すことができます。定義された属性を持つオブジェクトではなく、クラス(私は思う)でそれを呼び出しているように見えるので、ここでプライベートメソッド呼び出しで何が起こっているのか正確にはわかりません。
これが、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()に渡しますか?