Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mir eine Klasse Knoten erstell, die mehrere Daten speichern soll.
Unter anderem gehört da auch ein Vector dazu.
Mein Problem ist jetzt, dass ich den Vector, in der eigentlichen Methodenklasse, für jedes Objekt Knoten, neu übergeben muss.
Kann ich denn nicht das Objekt Knoten erstellen, so dass es schon automatisch einen Vector beinhaltet?
Müsste eingentlich; aber ich weiß nicht wie.
Oder habe ich das OOP wieder mal nicht durchschaut...? :bae:
Code:
import java.util.Vector;
public class Node {
private Vector<Integer> pointer = new Vector<Integer>();
private int parent;
private final int k;
private int index;
public B_TreeNode(int k){
this.pointer = null;
this.parent = 0;
this.k = k;
this.index = 0;
}
public B_TreeNode(Vector<Integer> pointer, int parent, int k, int index){
this.pointer = pointer;
this.parent = parent;
this.k = k;
this.index = index;
}
public Vector<Integer> getPointer(){
return pointer;
}
public int getParent(){
return parent;
}
public int getIndex(){
return index;
}
public int getK(){
return k;
}
public void setPointer(Vector<Integer> pointer){
this.pointer = pointer;
}
public void setIndex(int index){
this.index = index;
}
}
Das Problem wird wohl in Zeile 14 liegen.
Aber ich weiß nicht, was da rein soll. this.pointer = pointer; hat auch keinen Effekt.
> so dass es schon automatisch einen Vector beinhaltet?
ich habe die meisten deiner knappen Sätze nicht verstanden,
aber mit
> private Vector<Integer> pointer = new Vector<Integer>();
sorgst du dafür, dass ein fertiger Vector vorhanden ist,
mit
> this.pointer = null;
im Konstruktor setzt du ihn dann auf null, nicht sehr sinnvoll
Ich verstehe zwar das Problem nicht so ganz, aber du weißt, dass eine Klasse, so wie sie oben steht, keinen Konstruktor besitzt!? Der müsste so heissen wie deine Klasse.
Die Methoden
Code:
public B_TreeNode(int k){
this.pointer = null;
this.parent = 0;
this.k = k;
this.index = 0;
}
public B_TreeNode(Vector<Integer> pointer, int parent, int k, int index){
this.pointer = pointer;
this.parent = parent;
this.k = k;
this.index = index;
}
werden also nie, vor allem nicht bei der Objekterzeugung, aufgerufen, sofern du das nicht explizit tust!