Я искал часы, но не нашел решения:
Я хочу реализовать класс Scala, который расширяет класс Java с разными конструкторами:
Класс Java (JGoodies):
public abstract class AbstractTableAdapter<E>
extends AbstractTableModel implements ListModelBindable
Конструкторы:
AbstractTableAdapter()
AbstractTableAdapter(ListModel listModel)
AbstractTableAdapter(String... columnNames)
AbstractTableAdapter(ListModel listModel, String... columnNames)
ListModel — это общий интерфейс, если это имеет значение:
public interface ListModel<E>
Я пробовал в Scala 2.11:
class LibraryListTableModel(listModel: SelectionInList[Book], columnNames: Array[String]) extends AbstractTableAdapter[Book](listModel, columnNames) {
def this() = this(null, null)
def this(listModel: SelectionInList[Book]) = this(null, null)
def this(columnNames: Array[String]) = this(null, null)
}
но это дает это сообщение об ошибке:
error: overloaded method constructor AbstractTableAdapter with alternatives:
[INFO] (x$1: javax.swing.ListModel[_],x$2: String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book] <and>
[INFO] (x$1: String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book]
[INFO] cannot be applied to (com.jgoodies.binding.list.SelectionInList[eu.eyan.idakonyvtar.model.Book], Array[String])
[INFO] extends AbstractTableAdapter[Book](listModel, columnNames) {
[INFO] ^
[ERROR] one error found
Я думаю, что String...
вызывает проблему. Можно ли расширить такой абстрактный класс? Спасибо: Андраш