私は少し混乱しています、これはうまくいくはずだと思いました。それは単に親と子クラスであり、a) eclipse が文句を言い、b) インスタンス化されたオブジェクトでオーバーライドされたメソッドが呼び出されない理由がわかりません。
public class Selector {
private Node rootNode;
private Grid childGrid;
public Selector(){
super();
}
public Selector(Grid childGrid){
this();
this.childGrid = childGrid;
}
public Selector(Node rootNode,Grid childGrid){
this();
this.rootNode = rootNode;
this.childGrid = childGrid;
}
private ArrayList<ArrayList<String>> filter(ArrayList<String> keys){
return null;
}
private ArrayList<ArrayList<String>> innerEneryOrder(ArrayList<ArrayList<String>> children){
return children;
}
private ArrayList<ArrayList<String>> outerEneryOrder(ArrayList<ArrayList<String>> children){
return children;
}}
さて、派生クラスは次のとおりです。
public class StandardSelector extends Selector {
@Override
private ArrayList<ArrayList<String>> filter(ArrayList<String> keys){
ArrayList<ArrayList<String>> ret = new ArrayList<>();
for (String s: keys){
ArrayList<String> aL = new ArrayList<String>();
aL.add(s);
ret.add(aL);
}
return ret;
}}
では、どこに問題があるのでしょうか。