Вот выдержка из моего кода
package dictionary;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.regex.*;
public class IntelliCwDB extends CwDB {
public IntelliCwDB(String filename) {
super(filename);
}
@Override
public void add(String word, String clue) {
System.out.println("inelli");
}
}
И CwDB ...
package dictionary;
import java.util.LinkedList;
import java.io.*;
import java.util.Scanner;
public class CwDB {
protected LinkedList<Entry> dict;
public CwDB(String filename) {
dict = new LinkedList<Entry>();
createDB(filename);
}
public void add(String word, String clue) {
System.out.println("cwdb");
dict.add(new Entry(word, clue));
}
protected void createDB(String filename) {
try {
BufferedReader f = new BufferedReader(new FileReader(filename));
while (f.ready()) {
this.add(f.readLine(), f.readLine());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
В части main()
я создаю новый объект IntelliCwDB
, который запускаетисполнение createDB()
.
Проблема в том, что я хочу, чтобы CwDB.createDB()
использовал собственный метод CwDB.add()
, а не метод IntelliCwDB
.Есть ли какое-то иное решение, кроме создания CwDB
отдельно, а затем передачи его в конструктор IntelliCwDB
просто для перезаписи базы данных LinkedList<Entry>
dict?