我目前停留在一個項目。這是我應該做的:調用靜態方法/領域
複製從java1_Lesson14項目的java1_Project14項目Employee.java文件。首先,使用你已經學習的關於封裝的知識來保護你的數據。
使用對System.out.println()方法的調用,可以在控制檯中顯示每個Employee類實例中所有實例變量的名稱和值。還向控制檯輸出任何靜態變量的值。
需要注意的是,如果你通過一個實例訪問靜態變量,Eclipse會提醒你,這是不是最佳的行爲。使用正確的表單來訪問和顯示任何靜態信息。
我認爲我做了封裝部分的權利。現在的問題是我從Eclipse獲得的警告消息。
對e2.setTopSalary(199000)
我收到以下消息:「來自類型Employee的靜態方法setTopSalary(int)應該以靜態方式訪問。」
而就System.out.println("e2 Top Salary is " + e2.topSalary)
:「靜態字段Employee.topSalary應以靜態方式進行訪問。」
誰能給我一盞燈我怎麼解決這個問題?
public class Employee {
private static int topSalary = 195000;
private int hoursPerWeek;
public static void setTopSalary (int s) {
if (s > topSalary)
topSalary = s;
}
public void addMoreHours() {
hoursPerWeek++;
}
public static void main(String[] args) {
Employee e1, e2;
e1 = new Employee();
e2 = new Employee();
Employee.setTopSalary(199000);
e2.setTopSalary(199001);
e1.hoursPerWeek = 40;
e2.hoursPerWeek = 45;
System.out.println("Employee Top Salary is " + Employee.topSalary);
System.out.println("e2 Top Salary is " + e2.topSalary);
System.out.println("e1 working hours per week are " + e1.hoursPerWeek);
System.out.println("e2 working hours per week are " + e2.hoursPerWeek);
}
}
靜態方法是一流水平,不屬於對象,所以你訪問'ClassName.methodName(PARAMS);' – nachokk
有一個突變,但沒有訪問是咩。 –