Javaのコードに問題があります。私には4つの(重要な)クラスがあります:
public class RDOutput extends OutputType
public class RDAnalysis extends AnalysisProperties
今、私は分析プロパティでメソッドを作成しようとしています:
public abstract void display(ArrayList<? extends OutputType> results);
主な問題リストであるArrayListのオブジェクトは、OutputTypeのさまざまなサブタイプになります。私のクラスのRDAnalysisでは、特定のオーバーライドを作成しようとしています。
public void display(ArrayList<RDOutput> results) {
しかし、eclipseは次のように述べています。名前の衝突:RDAnalysis型のメソッドdisplay(ArrayList)は、AnalysisProperties型のdisplay(ArrayList?extends OutputType)と同じ消去を行いますが、オーバーライドしません。
私はJavaのトリックに精通していません。ドキュメントを検索してみましたが、この問題の解決策は見つかりませんでした。私の質問は次のとおりです:私が行っているトリック(抽象の基本型と最終関数の拡張)はJavaで可能ですか(はいの場合、どうすればそれを行うことができますか?)、またはこれを解決するために列挙型を作成する必要がありますか?