接口作为参数

时间:2012-03-14 17:55:38

标签: java interface

我正在通过这个软件库来获取java中的语义规范。

这个实现DivRank的特殊代码有一个方法,它接受一个名为SparseMatrix的参数:http://code.google.com/p/airhead-research/source/browse/branches/matrix-rank/src/edu/ucla/sspace/matrix/DivRank.java?spec=svn1277&r=1277

软件包中的文档说SparseMatrix是一个接口: http://airhead-research.googlecode.com/svn/trunk/javadoc/1.7/edu/ucla/sspace/matrix/SparseMatrix.html

我的目标是将double [] []中的值注入此参数。

SparseMatrix实现另一个名为Matrix的接口,该接口具有setRow和setColumn函数。当我尝试使用我所创建的接口的对象时,我得到了NullPointException。我认为这是因为我没有SparseMatrix接口的实例。

然后我意识到,我必须使用一个实现该接口的类并传递该类对象。但是文档没有显示任何适合我需要的简单类。

我是否需要定义一个实现此接口的新类,还要覆盖接口函数并使用该对象传递我的值?

1 个答案:

答案 0 :(得分:0)

我没有查看详细信息,但是在javadoc(您​​的第二个链接)上,有一个名为“All Known Implementing Classes”的列表。你可以检查它们,我相信你会找到一个具体的类(即不是接口或抽象类)并做你需要的。例如,SparseHashMatrix有一个set(row, col, value)方法,您可以使用该方法从double[][]填充矩阵中的矩阵。