0

クラスに基づいてスパース マトリックスを実装しStackていますが、次のエラーが発生します。

Sparse.java:6: Sparse は抽象的ではなく、スタック内の抽象メソッド pop() をオーバーライドしません
public class Sparse は Stack {

問題のコード スニペットは次のとおりです。

public class Sparse implements Stack {

    static int matrix[][] = new int[6][6];

    public static int[][] Random() {
        Random rand = new Random(seed);
        rand.nextInt(100);
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < array[0].length; j++) {
                matrix[i][j] = rand.nextInt(100);
            }
            return matrix;
        }
    }
}

ありとあらゆる助けをいただければ幸いです。ありがとうございました。

4

3 に答える 3

4

これは、インターフェースStackにメソッドがあることを意味しますpop()。メソッドを実装する必要pop()があります。そうしないと、コンパイルされません。

コードをすばやくテストし、後でメソッドを実装する必要がある場合は、

public int pop() { // Refer to your Stack interface for signature - they must match.
    throw new UnsupportedOperationException("not implemented");
}
于 2013-03-12T11:54:36.737 に答える
3

抽象クラスを継承するクラスは、その中のすべてのメソッドをオーバーライドする必要があります。(それに定義を与える必要があります)。そうでない場合は、子クラス(スパース)も抽象である必要があります。

ただし、クラスSparseがAbstractの場合、オブジェクトを作成することはできません(ただし、参照変数を作成することはできます)。

したがって、追加する方が良いです

public int pop() { // Refer to your Stack class for signature - they must match.
    throw new UnsupportedOperationException("not implemented");
}

@luiges90が述べたように

于 2013-03-12T12:01:20.637 に答える
1

抽象クラスとインターフェースについてあまり認識していないようです。以下のリンクを参照してください。がお手伝いします。詳細については、いつでもグーグルで検索できます。:-)

[1] http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html [2]インターフェイスまたは抽象クラスをいつ使用するか? いつ両方を使用するのですか?

于 2013-03-12T12:02:11.443 に答える