[Java] Methode

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von ChiN, 28. November 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 28. November 2009
    Methode

    Guten Morgen

    ich hab hier eine Lösung für eine Methode
    Code:
    public Kunde() 
     {
     }
     
     public Kunde(int ID, String Vorname, String Nachname, String Straße, int PLZ, String Ort) 
     {
     this.id = ID;
     this.vorname = Vorname;
     this.nachname = Nachname;
     this.straße = Straße;
     this.plz = PLZ;
     this.ort = Ort;
     }

    warum wird hier 2 mal die methode Kunde geschrieben.
    habe es schon einaml gelöscht, da hat der ganze rest gestreikt.
     
  2. 28. November 2009
    AW: Methode

    Handelt es sich bei dem ersten nicht um die Klasse?
    Also die Klasse heisst dann auch "Kunde" - mich wundert nur etwas, das direkt die Klammer wieder zugemacht wird in der nächsten Zeile.

    mfg
     
  3. 28. November 2009
    AW: Methode

    Du hast womöglich eine Klasse kunde erstellt.

    deine 2 methoden sind konstruktormethoden deiner klasse kunde.

    die eine ist ohne parameter die eine mit.

    somit kannst du diese 2 initalisierungen verwenden:

    Kunde k = new Kunde();
    Kunde k = new Kunde(1, Vorname, Nachname,Straße, 83524,Ort);

    wobei der erste konstruktor für dich wohl unnötig ist. du kannst ihn löschen wenn du nirgends den ersten konstruktor verwendets musst ein wenig drauf achten
     
  4. 28. November 2009
    AW: Methode

    hi,
    das Ganze nennt sich Überladen von Methoden.
    Du kannst mehrere Methoden schreiben, mit dem selben Namen aber unterschiedlichen Parametern.

    Also Beispiel Kunde(int a, String b)
    Kunde (b String, int a)

    zwei unterschiedliche Methoden
    Wieso macht man das?
    Ganz einfach, in dem Fall zB den du hast, wo man das für einen Konstruktor benutzt is die Antwort leicht erklärt.

    Wenn du einen Kunden erstellen willst, der zB nur einen Vor und Nachnamen hast, benutzt du eben den Konstruktor
    Kunde(String vName,String nName)
    wenn du einen mit adresse und tel zusätzlich hast, benutzt du eben
    Kunde(String vName,String nName,String adresse,String telNr)

    Sinnvoll wäre bei dir zB
    Code:
     public Kunde() 
     {
     this.id = 0;
     this.vorname = "Max";
     this.nachname = "Mustermann";
     this.straße = "Musterstr. 12";
     this.plz = 12345; //würd ich übrigens nciht als int machen, zb wegen PLZ die mit einer 0 beginnen oder PLZ aus andren ländern wo man den länderbuchstaben davor schreibt
     this.ort = "Musterstadt";
     }
    
    somit erstellst du, da du ja auch keine Daten überlieferst, ne Art Dummy. natürlich könnten die Werte auch leer sein oÄ, je nachdem was man vor hat



    nein, leider postet er immer nur kleine Auszüge aus seinem Quelltext und so muss man eben die Sachen interpretieren, wenn man seine vorherigen Fragen kennt, weiss man dass er eine Klasse namens Kunde hat.
    Das sind eben 2 Konstruktoren in dieser Klasse, das public class Kunde hat er weggelassen
     
  5. 28. November 2009
    AW: Methode

    kannst du mir auch sagen warum es in der Klasse Kundenverwaltung zu fehlern kommt wenn ich diese Konstruktor lösche?

    Code:
    einKunde = new Kunde(-1, "Vorname", "Nachname", "Straße", 12345, "Ort" );
     this.KundenListe.add(einKunde);
    denn sobald ich es lösche wird hier einKunde als fehler gekennzeichnet.


    PS. falls ihr super seiten, literatur kennt die mir bei meinen Fragen helfen können grad sagen.
    Bin immer auf der Suche.
     
  6. 28. November 2009
    AW: Methode

    aus einer zeile code lässt sich zu schlecht erkennen woher genau dein fehler stammt

    ich mein der konstruktor public kunde() hat erstmal nichts mit deiner Initialisierung mit parametern zu tun und sollte von daher gelöscht werden können
     
  7. 28. November 2009
    AW: Methode

    falls ihr das ganze programm einsehen wollt. ich habe es gepostet bei "wrapper klasse"
     
  8. 28. November 2009
    AW: Methode

    ok ich hab dein fehler gefunden

    Code:
    public class Kundenverwaltung {
     private Vector <Kunde>KundenListe = new Vector<Kunde>();
     private Kunde einKunde= new Kunde();
     
    das bitte so schreiben

    Code:
    public class Kundenverwaltung {
     private Vector <Kunde>KundenListe = new Vector<Kunde>();
     private Kunde einKunde= null;
    dann kannst du den anderen konstruktor löschen und es läuft alles noch wie davor
     
  9. 28. November 2009
    AW: Methode

    danke klappt. kanst du mir noch erklären warum?


    Ps. gibt es dafür eine gute Internetseite?
     
  10. 28. November 2009
    AW: Methode

    hi,

    Java ist eine Insel ist glaube ich ein gutes Tutorial (hab ich selber nicht gemacht, Java und OOP hab ich in der Schule udn im Studium gelernt )

    also
    private Kunde einKunde= new Kunde();

    ruft den Konstruktor Kunde() { } auf ohne parameter
    wenn du jetzt den Konstruktor ohne Parameter in der Class Kunde löschst, kann dieser nicht mehr gefunden werden.
    Wenn du dort = null hinschreibst, dann steht in der Variable nichts drinn..von daher wird auch der fehlerhafte/nicht vorhandene Konstruktor nicht aufgerufen
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.