父/子类关系 - indexOf

时间:2016-06-14 01:46:23

标签: java parent-child extends indexof override

我的问题很具体。我和父母和孩子一起工作。我正在处理特定的指令,并且我要从子类的父类重写indexOf()方法。如果参数是父类对象,则根据参数值返回父类的indexOf()值。如果参数是String对象,返回父类的indexOf ()传递从字符串参数创建的父类对象时的值。

粗体部分是我没有得到的。这是我第一次使用这种东西,所以我不确定如何处理它。这就是我到目前为止所做的:

public class KillList extends LinkedList<AssassinNodeData> {

public int indexOf(Object data) {
    if (data instanceof AssassinNodeData) {
        return .....
    } else if (data instanceof String) {
        return ....
    } else 
        return -1; // under all other circumstances  
                   // circumstance to indicate parameter is not of current class 
}
}

任何建议或解决方案都会很精彩!

关于父/子课的主题。由于我使用LinkedList进行扩展而不是仅仅扩展超类 - 是否有一种特殊的方式可以从超类中访问getter / setter方法?

这是我正在做的事情的一个例子。编译器给了我&#34;找不到符号&#34;并且getter方法的位置在子类中,但不在超类中:

@Override
public String toString() {
    return getKiller() + "is stalking" + getPlayer(); 
}

1 个答案:

答案 0 :(得分:3)

您需要在此处使用super关键字来访问父级indexOf

public int indexOf(Object data) {
    if (data instanceof AssassinNodeData) {
        return super.indexOf(data);
    } else if (data instanceof String) {
        return super.indexOf(new AssassinNodeData((String)data));
    } else {
        return -1;
    }
}