for (Employee2 e : staff)就是
遍历数组staff中所有的元素,把每个元素赋给e(自动强制类型转换,一样只有父子类才能转换,转换失败抛出异常),分别运行
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);
for (Employee e : staff)
e.raiseSalary(5);
Employee是一个类,创建实例的时候75000,50000,40000是Salary。
其raiseSalary方法如下
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
最后的运行结果就是staff的三个实例中的Salary全部提高5个百分点
类似的还有数组的遍历
for(int i:numbers)
{
System.out.println(i);
}