私の質問は非常に具体的です。私は親クラスと子クラスで作業しています。特定の指示に従って作業しています。子クラスの親クラスからindexOf()メソッドをオーバーライドします。パラメータが親のクラスオブジェクトである場合、は、パラメータ値に基づいて親クラスのindexOf()値を返します。パラメータがStringオブジェクトの場合、は、文字列パラメータから作成された親のクラスオブジェクトが渡されたときに親クラスのindexOf()値を返します。親子関係 - 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メソッドにアクセスする特別な方法はありますか?
ここに私が取り組んでいるものの例があります。コンパイラは、「シンボルを検索することができません」とgetterメソッドの場所は、スーパークラスのサブクラスである、ではないことを私に与えている:
@Override
public String toString() {
return getKiller() + "is stalking" + getPlayer();
}
私は見る! 2番目の条件でデータの上にString型をキャストする必要がありますか? – Ani
@Aniパラメータとして 'Object'を取ることができるコンストラクタを持っていない限り、コンパイル時エラーを防ぐためにキャストが必要です。 – 4castle
ありがとう! :)私はそれをチェックします – Ani