Person是Employer的父类,Employer有个新方法setBonus,代码如下
Employer[] emprs ={new Employer("张三"),new Employer("李四")}; Person[] ps =emprs; ps[0] = new Person("小明");//运行时该行报错ArrayStoreException emprs[0].setBonus(2000);
书中给出的解释是要保持数组中的元素对象类型一致,
我不理解的是ps定义的元素的类型是Person,为什么在这里不能ps[0] = new Person("小明"),ps[0]不是只是对new Person("小明")的一个引用吗?他又不是Employer类型,我去给它赋值为Person类型有什么不可?
另外以上代码如果不用数组的形式,就是两个对象这么操作下,是没有错误的。
可能我以上的理解本身有错误,请大家指教指正。
慕丝7291255
牛魔王的故事
相关分类