我只是在我的知识ArrayLists
和有问题。ArrayList上的方法
我有4个类,一个人超类,员工子类,学生子类和员工的经理子类。
我不明白的是我如何使用方法m.setBonus
上的人ArrayList
。我知道我可以将对象分割成单独的数组,但我不确定这是否是答案。
我目前在Manager m : manager
部件上出现错误,因为我没有提及管理员。
我现在在我的测试类
public static void main(String[] args){
ArrayList<Person> people = new ArrayList<Person>();
people.add(new Employee("Tom", 4000, 1990, 3, 10));
people.add(new Pupil("Dick", "Comp Sci"));
people.add(new Employee("Harry", 4000, 1990, 3, 10));
people.add(new Manager ("Dan", 5000, 1990, 10, 1));
for (Manager m : manager)
{
m.setBonus(5000);
}
for (Person p : people){
System.out.println(p.getDetails());
}
}
}
我很抱歉,如果这是一个非常简单的事情,此代码。我在网上找不到任何东西。
干杯
非常感谢您,我将会阅读本书的instanceof部分! :) – EmberZ 2011-12-20 22:31:38
您可能需要将该引用转换为“经理”实例 - 我怀疑“瞳孔”正在获得奖励。 – 2011-12-20 22:32:21
这是一个解决方案,也许是原始海报设置问题的唯一解决方案,但每当我看到大量使用instanceof时,我担心整体设计可能会被破坏,并且可能会有更好的方法解决潜在的问题。 – 2011-12-20 22:32:40