Anzeige:
Ergebnis 1 bis 7 von 7

Thema: [Java] interne Konstruktoraufrufe!

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377

    Question [Java] interne Konstruktoraufrufe!

    Ich hab mir eine Klasse geschrieben die die folgenden Konstruktoren hat:
    Code:
    public UseStorageSystem(File mFile) {
    	this.mFile = mFile;
    	this.mList = new LinkedList();
    	this.readInObjects();
    }
    und
    Code:
    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:
    Code:
    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!
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Naja..

    Funtzt nicht, weil ein Konstruktor keine normale Funktion ist.
    Du misst dir eine allgemeine Konstruktorfunktion basteln, die das alles erledigt.
    Geändert von Lin728 (20-08-2017 um 20:16 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Einen anderen Konstruktor rufst du mit this(Parameter); auf.
    Also in deinem Bsp.
    Code:
    public UseStorageSystem(String path) {
    	this(new File(path));
    }
    Wichtig ist, daß dieser Aufruf der erste ist (ähnlich wie bei super(...)).

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Ooops

    sorry, man lernt nie aus ;-)

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich hab das mal bei C++ versucht (danke an anda_skoa fürs helfen)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Super, danke, es funkt!
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  7. #7
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278
    Zitat Zitat von peschmae
    Ich hab das mal bei C++ versucht (danke an anda_skoa fürs helfen)

    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.
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •