Ich kenne Titular Probleme wurde hier und dort schon beantwortet, aber für jede Antwort kann immer noch nicht mein Problem lösen. Das Problem ist folgendes:Konstruktor in der Klasse kann nicht auf bestimmte Typen angewendet werden - Abstract Class
I abstrakte Klasse haben, die Knoten ist, enthält Konstruktor wie folgt aus:
public Node(List<Record> dataSet, int labelIndex) {
this.allSamples = new ArrayList<Integer>();
this.dataSet = dataSet;
this.classificationLabelIndex = labelIndex;
this.entropy = 0;
}
Und dann, ich verlängern die absract Klasse in TreeNode, mit Konstruktor wie diese (Super verwenden):
public TreeNode(List<Record> dataSet, int labelIndex, List<Attribute> attributes, int level, double threshhold) {
super(dataSet, labelIndex);
this.attributes = attributes;
splittedAttrs = new HashSet<Integer>();
this.level = level;
this.displayPrefix = "";
this.children = null;
this.threshhold = threshhold;
}
Also, die TreeNode Klasse abstrakt Node-Klasse erweitert und Super-Methode unter Verwendung von Daten-Set und labelindex von Node-Klasse zu nennen, aber dann kann ich mich warnen „Konstruktor Knoten in der Klasse Knoten nicht auf bestimmte Arten angewendet werden, benötigt keine Argumente . " Vielleicht, weil ich einige Parameter in TreeNode hinzugefügt habe, aber ich denke immer noch, dass es sehr unwahrscheinlich ist. Jede Hilfe wird geschätzt.
Bitte klären (oder besser zeigen den Code), wenn Sie die Warnung bekommen. – Argb32
Ich denke, es könnte sein, weil Sie eine abstrakte Klasse nicht instanziieren können, also ignoriert es Ihren Konstruktor, indem Sie nur den Standard-Objekt von Object verwenden. Nur eine Idee – RobotKarel314
Es funktionierte schon Jungs, ich muss nur Netbeans neu starten ... Thx –