java中抽象类的子类

时间:2013-09-11 20:29:15

标签: java

我正在阅读我以前的开发人员代码。 在抽象类“元素”下有几个不同的子类,如“numeric”,“Decimal”。 有一段代码如下。

for (Iterator i = children.iterator(); i.hasNext();) {
            Element element = (Element) i.next();
            for (int j = 0; j < element.getOccurs(); j++) {
                int end = pos + element.getLength();
                dataChildren.add(element.parse(sub(bytes, pos, end)));
                pos = end;
            }
        }

我的问题是它在执行“element.parse(sub(bytes,pos,end)”时会调用哪些子类?

1 个答案:

答案 0 :(得分:2)

如果此类覆盖抽象类的方法或抽象类中的parse方法(如果已实现),则调用“right”类的parse方法。

如果您的子集合是{numeric,numeric,decimal,numeric},并且numeric和decimal都覆盖了element中的parse方法,则首先在数值实例中调用parse方法,在numeric中调用第二个,在十进制中调用第三个然后用数字。