我目前停留在一个项目上。这是我应该做的:
将Employee.java文件从java1_Lesson14项目复制到java1_Project14项目。首先,使用您所了解的封装来保护数据。
使用对System.out.println()方法的调用,在控制台中显示Employee类的每个实例中所有实例变量的名称和值。还可以向控制台打印任何静态变量的值。
请注意,如果您通过实例访问静态变量,Eclipse会警告您这不是最佳行为。使用正确的表格访问和显示任何静态信息。
我认为我做了封装部分。现在的问题是我从Eclipse获得的警告消息。
On 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);
}
}
答案 0 :(得分:1)
The static
keyword表示该类的所有实例仍引用该字段的一个实例。该字段实际上是每个类别。
您可以按如下方式调用它:
Employee.setTopSalary(12000);
并按以下方式访问字段:
System.out.println(Employee.topSalary);
Employee
是班级名称。