0

我正在基于Stack该类实现一个稀疏矩阵,但出现以下错误:

Sparse.java:6:Sparse 不是抽象的,不会覆盖 Stack
public class Sparse implements Stack {中的抽象方法 pop()

这是有问题的代码片段:

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

似乎您对抽象类和接口不太了解。请通过以下链接。会帮助你的。您可以随时 google 获取更多信息。:-)

[1] http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html [2]何时使用接口或抽象类?何时使用两者?

于 2013-03-12T12:02:11.443 回答