Так что я в основном предполагается использовать переменные из моих объектов, созданных из класса Employee ниже:Использование переменных внутри других классов без статического в Java
public class Employee {
public long EmployeeNumber;
public String EmployeeName;
public String LastName;
public double HoursWorked;
public double HourlyWage;
public Employee(long EmployeeNumber, String EmployeeName, String LastName, double HoursWorked, double HourlyWage){
this.EmployeeNumber = EmployeeNumber;
this.EmployeeName = EmployeeName;
this.LastName = LastName;
this.HoursWorked = HoursWorked;
this.HourlyWage = HourlyWage;
}
public double getAnnualGrossSalary(){ // calculates annual gross salary
return HoursWorked*HourlyWage*52;
}
Есть объекты, созданные из сотрудников моего основного класса, неоднократный Сотрудник объекты, хранящиеся внутри массива.
Теперь я пытаюсь использовать эти переменные из этих объектов Employee внутри другого класса для расчета налогов.
public double calculateTax() {
if (Employee.getAnnualGrossSalary() < 41495){
return Employee.getAnnualGrossSalary()*0.16;
}
else if (Employee.getAnnualGrossSalary() < 82985){
return Employee.getAnnualGrossSalary()*0.20;
}
else if(Employee.getAnnualGrossSalary() < 100970){
return Employee.getAnnualGrossSalary()*0.24;
}
else
return Employee.getAnnualGrossSalary()*0.2575;
}
У меня есть метод выписанный для этого в другом классе, но когда я пытаюсь использовать их, он продолжает говорить:
Cannot make a static reference to the non-static method getAnnualGrossSalary() from the type Employee
.
Как исправить это?
Просто, чтобы уточнить, если я сделаю его статическим, в моей программе ничего не работает, поэтому я не могу сделать его статичным.