背景:定义了 Employeee 类 public class Employee { private String name; private double salary; private LocalDate hireDay; //........ Getter and Setter} 定义一个 Manager 类继承 Employee public class Manager extends Employee {
private double bonus;
//........
public void setBouns(double bouns) {
this.bonus = bouns;
}}
现在创建一个数组列表,ArrayList<employee> staff = new ArrayList<>(); 向列表中添加元素</employee>
staff.add(new Manager("狗蛋",1000,2019,9,10)); 向 staff 中添加 Manager 类是可行的 但是当我想 staff.get(0).setbonus;时却会报错 我想跟这是子类特有属性有关但不知道具体为什么 像是 staff.get(0).getSalary 什么的都是没有问题的 setbonus 却不行这是为什么 而且子类对象可以添加进父类对象的数组列表,我也不清楚为什么,有没有大佬解答?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.