我想知道Java中脆弱的基类问题的原因。
这是代码,即使我已给出在父类中触发方法的指令,我也找不到触发子类方法的原因
在公共类Array
public class Array {
private ArrayList<Object> a = new ArrayList<Object>();
public void add(Object element)
{
a.add(element);
}
public void addAll(Object elements[])
{
for (int i = 0; i < elements.length; ++i)
add(elements[i]);
}
}
在ArrayCount类中...该类负责存储列表的计数
public class ArrayCount extends Array {
public int count = 0;
@Override
public void add(Object element)
{
super.add(element);
++count;
}
@Override
public void addAll(Object elements[])
{
super.addAll(elements);
count += elements.length;
}
}
主要类别如下
public class Main {
public static void main(String[] args) {
ArrayCount ac = new ArrayCount();
Object [] objArray = new Object[7];
objArray[0] = "xxx";
objArray[1] = "xxx";
objArray[2] = "xxx";
objArray[3] = "xxx";
objArray[4] = "xxx";
objArray[5] = "xxx";
objArray[6] = "xxx";
ac.addAll(objArray);
System.out.println("count is : " + ac.count);
//COUNT IS 14 NOT 7
}
}