findet Konstruktor nicht -- Aber wieso?



  • Hallo,

    ich hab da ein etwas peinliches Problem. Und zwar sagt mir mein Java, dass es im folgendem Code kein Konstruktor Node in der Klasse Node gibt. Aber der is doch eigetnlich drin oder niht?

    class Node{
    	Node left, right;
    	Object info;
    
    	public Node(Object i, Node l, Node r){
    		this.info = i; this.left = l; this.right = r;
    	}
    
    	public Object getInfo(){return this.info;}
    	public Node getLeft(){ return this.left;}
    	public Node getRight(){return this.right;}
    	public boolean hasNext(){
    		boolean hN=false;
    		if(this.getRight() != null) hN=true;
    		return hN;
    	}
    }
    

    ist das nicht mein Konstruktor? warum wird er nicht gefunden?

    public Node(Object i, Node l, Node r){
    		this.info = i; this.left = l; this.right = r;
    	}
    

    Übrigens erbt diese Klasse in meinem Programm(also: class Test extends Node). und der Compiler sagt mir schon in der ersten Zeile, dass es keinen Konstruktor gibt..

    Ich hoffe ihr könnt mir weiterhelfen..

    MfG Linse



  • Prüfe ob Test einen Konsturktur implementiert der zum Node Konstruktor passt oder einen implementiert, der den Node(Object i, Node l, Node r) Konstruktor aufruft.

    Zeig mal die Klasse Test



  • Wenn du Vererbungen benutzt braucht die Oberklasse einen Standard-Konstruktor.
    Der wird nämlich automatisch im Konstruktur der Unterklasse aufgerufen, wenn du das nicht explizit selber machst. Der Compiler fügt also als 1.Anweisung "super()"
    in deinen Konstruktor von Test ein. Weil Node aber bei dir keinen Standard-Konstruktor hat, kommt die Fehlermeldung!!


Anmelden zum Antworten