Интерфейс как параметр - PullRequest
       1

Интерфейс как параметр

1 голос
/ 14 марта 2012

Я просматривал эту библиотеку программного обеспечения для семантических спецификаций в 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 / багажник / Javadoc / 1,7 / Edu / UCLA / sspace / матрица / SparseMatrix.html

Моя цель - ввести значения, которые у меня есть, в двойном [] [] в этот параметр.

SparseMatrix реализует другой интерфейс под названием Matrix, который имеет функции setRow и setColumn. Когда я попытался использовать это с объектом интерфейса, который я сделал, я получил NullPointException. Я думаю, это потому, что у меня не было экземпляра интерфейса SparseMatrix.

Затем я понял, что мне нужно использовать класс, который реализует этот интерфейс, и передать этот объект класса. Но в документации нет ни одного простого класса, который бы подходил мне.

Нужно ли мне определять новый класс, который реализует этот интерфейс, а также переопределяет функции интерфейсов и использует объект для передачи моих значений?

1 Ответ

0 голосов
/ 14 марта 2012

Я не смотрел подробно, но на javadoc (ваша вторая ссылка) есть список под названием «Все известные классы реализации». Вы можете проверить их, и я уверен, что вы найдете тот, который является конкретным классом (т.е. не интерфейсом или абстрактным классом) и выполняет то, что вам нужно. Например, SparseHashMatrix имеет метод set(row, col, value), который можно использовать для заполнения матрицы из вашего double[][] циклом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...