PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java] interne Konstruktoraufrufe!



nul
04-11-2004, 22:45
Ich hab mir eine Klasse geschrieben die die folgenden Konstruktoren hat:

public UseStorageSystem(File mFile) {
this.mFile = mFile;
this.mList = new LinkedList();
this.readInObjects();
}
und

public UseStorageSystem(String path) {
this.mFile = new File(path);
this.mList = new LinkedList();
this.readInObjects();
}
Nun hab ich versucht den zweiten Konstruktor so zu schreiben:

public UseStorageSystem(String path) {
UseStorageSystem(new File(path));
}
Das funktioniert aber nicht! Ich versteh aber nicht wieso, kann mir denn jemand von euch dabei helfen. Ich meine auf die Reihenfolge, wie die Konstruktoren angeordnet sind kommt es doch nicht an? Auf jedenfalls bringt das vertauschen nichts!

Lin728
05-11-2004, 07:49
Funtzt nicht, weil ein Konstruktor keine normale Funktion ist.
Du misst dir eine allgemeine Konstruktorfunktion basteln, die das alles erledigt.

wraith
05-11-2004, 08:42
Einen anderen Konstruktor rufst du mit this(Parameter); auf.
Also in deinem Bsp.


public UseStorageSystem(String path) {
this(new File(path));
}

Wichtig ist, daß dieser Aufruf der erste ist (ähnlich wie bei super(...)).

Lin728
05-11-2004, 09:22
sorry, man lernt nie aus ;-)

peschmae
05-11-2004, 09:58
Ich hab das mal bei C++ versucht (danke an anda_skoa fürs helfen) :D

MfG Peschmä

nul
05-11-2004, 17:14
Super, danke, es funkt!

Sym
05-11-2004, 21:48
Ich hab das mal bei C++ versucht (danke an anda_skoa fürs helfen) :D

MfG Peschmä
Bin gerade am C++-Lernen und habe diese Funktion ewig gesucht - bis einer kam, welcher einfach mal so meinte: das klappt nicht. Toll die Maus. :(