Использование метода Mutator в клиентской программе

Мне просто нужно некоторое разъяснение всякий раз, когда я использую метод Mutator в клиентской программе, хорошо, так что я настроил свой класс сотрудника, и меня учили, что моя переменная должна быть private double salary тогда есть мои аксессоры, затем мутаторы, и это должно быть public void setSalary (double newSalary) и внутри него есть salary = newSalary

Теперь я кодирую это в затмении, и я в моей клиентской программе, поэтому я положил Employee.setSalary(200.00); что меня учили, это был правильный путь, и книга, которую мы используем в классе, также показывает это так...

Тем не менее, Затмение говорит мне, что мой мутатор должен быть public static void setSalary (double newSalary); и что моя начальная переменная должна быть private static double salary, почему говорится, что если книга и мой профессор говорят, что это по-другому?

Так вот мой код для моего класса

    import java.text.DecimalFormat;

    public class Employee {
    private String Last_Name;
    private String First_Name;
    private int Years_in_Company;
    private double Salary;
    private char Status;
    private String Section;

    public Employee(){
        Last_Name = "unknown";
        First_Name = "unkown";
        Years_in_Company = 0;
        Salary = 0.0;
        Status = '\u0000';
        Section = "unkown";
    }

    public String getLast_Name(){
        return Last_Name;
    }

    public String getFirst_Name(){
        return First_Name;
    }

    public int getYears_in_Company(){
        return Years_in_Company;
    }

    public double getSalary(){
        return Salary;
    }

    public char getStatus (){
        return Status;
    }

    public String getSection(){
        return Section;
    }

    public void setLast_Name(String newLast_Name) {
        Last_Name = newLast_Name;
    }
    public void setFirst_Name(String newFirst_Name){
        First_Name = newFirst_Name;
    }
    public void setYears_in_Company(int newYears_in_Company){
        if( newYears_in_Company >= 0)
            Years_in_Company = newYears_in_Company;
            else{
                System.err.println ("Years in company cannot be negative");
                System.err.println ("Value not changed");
            }
    }
    public void setSalary (double newSalary){
        if ( newSalary >= 2000.00){ //good practice to add braces to `if`condition.
            Salary = newSalary;
              }
        else{
            System.err.println("Salary cannot be less than $2,000.00");
            System.err.println("Value not changed");
        }
    }
    public void setStatus(char newStatus){
        if (newStatus == 'a' || newStatus == 'r'){
            Status = newStatus;
                }
        else{
            System.err.println ("Status cannot be anything other than a or r");
            System.err.println ("Value not changed");
        }
    }
    public void setSection (String newSection){
        Section = newSection;
    }
    public void display (){
        System.out.println ( Last_Name + First_Name + Years_in_Company + Salary + Status + Section);
    }
    public String toString (){
        DecimalFormat SalaryFormat = new DecimalFormat ("#0.0");
        return "Name: " + Last_Name
                + ", " + First_Name
                + ", Years in Company: " + Years_in_Company
                + ", Salary: " + SalaryFormat.format ( Salary )
                + ", Status: " + Status
                + ", Section: " + Section;

    }
    public boolean equals( Object o){
        if (!(o instanceof Employee) ){
            return false;
                }
        else{
            Employee objEmployee = (Employee) o;
            if ( Last_Name.equals (objEmployee.Last_Name) &&
                    First_Name.equals (objEmployee.First_Name) &&
                    Math.abs(Years_in_Company - objEmployee.Years_in_Company) < 0.0001 &&
                    Math.abs(Salary - objEmployee.Salary) < 0.0001 &&
                    Status == objEmployee.Status &&
                    Section.equals(objEmployee.Section))

                    return true;
            else
                    return false;
        }
    }

}

я просто хочу знать, почему Eclipse говорит мне, что мой мутатор должен быть public static void setSalary (double newSalary); и что моя начальная переменная должна быть private static double salary, почему говорится, что если книга и мой профессор говорят, что это по-другому?

0 ответов

Другие вопросы по тегам