Methode überschreiben?

Status
Nicht offen für weitere Antworten.

mobile

Bekanntes Mitglied
Hi,
ich teste hier grade mal etwas rum. Ich bin jetzt allerdings auf ein Problem gestoßen. methoden zu überschreiben ist doch prinzipiel möglich, richtig?
Also ich möchte die Methode personErstellen in die Methode personLohnErhoehen überschreiben. Da ich nicht jedesmal wenn ich eine neue Person zufüge alles doppelt und dreifach schreiben möchte.
Nur bei Methode personErstellen sollen dann die Liste ausgegeben werden. Geschehen in der for Schleife.
In der Methode personLohnErhoehen soll die Liste auch ausgegeben werden, aber in Verbindung mit der einer anderen Methode(siehe for-Schleife). Ist das überhaupt möglich oder muss ich dafür doch zwei Methoden machen und dann zweimal jeden Namen einfügen?

So wie es jetzt ist bekomme ich aufjedenfall immer den Fehler:
';' expected void personLohnErhoehen() extends personErstellen(); {

Code:
void personErstellen() {
		Freunde[] liste = new Freunde[3];
		liste[0] = new Freunde("N_Name","Name1",2000);
		liste[1] = new Freunde("N_Name2","Name2",2500);
		liste[2] = new Freunde("N_Name3","Name3",3000);
		
		for(int i=0; i<liste.length; i++) {
			liste[i].listeAusgeben();
		}
	}
	
	void personLohnErhoehen() extends personErstellen() {
		for(int i=0; i<liste.length; i++) {
			liste[i].lohnErhoehen();
		}
	}

Hoffe ihr könnt mir helfen.
 

Leroy42

Top Contributor
Da hast du noch etwas grundsätzlich nicht verstanden.

Es ist nicht möglich, und macht auch keinen Sinn, eine Methode innerhalb derselben Klasse durch eine
andere zu überschreiben. Was soll dies denn bedeuten? Daß bei Aufruf der neuen Methode
erst einmal die alte aufgerufen werden soll? Dann tu das doch einfach, indem du als erste
Anweisung innerhalb der neuen Methode die alte zu Fuß aufrufst.

Von Überschreiben spricht man dann, wenn einen neue Klasse, die von der Originalen
abgeleitet wurde, dieselbe (bezüglich der Signatur) Methode neu definiert.

Im Übrigen erzeugst du in deiner Methode personErstellen eine lokale Variable
Freunde, das du füllst, einmal ausgibst und dann wegschmeißt, da nach Verlassen der
Methode die lokalen Variablen nicht mehr verfügbar sind, sofern du sie nicht zurückgibst
oder woanders übergibst, speicherst.
 

mobile

Bekanntes Mitglied
Upss :), hab das wohl mal wieder verwechselt, passiert!

mir ging es ja nur darum, dass ich das Array was ich erzeugt habe zweimal aufrufen will, aber bei jedem Aufruf soll einmal nur die Liste ausgegeben werden und bei dem anderen soll eine aktualliesierte Liste ausgegeben werden. Ich möchte jetzt nicht immer das Array zweimal erneuern, wenn ich eine neue Perosn zufüge.

So habe jetzt die Methode aufgerufen aber dann sagt er mir, dass er die "liste" nicht finden kann, bei personLohnErhoehen().

Außerdem habe ich dann ja trotzdem die for-Schleife mit listeAusgeben() die wollte ich ja grad nicht mehr.

Code:
void personErstellen() {
      Freunde[] liste = new Freunde[3];
      liste[0] = new Freunde("N_Name","Name1",2000);
      liste[1] = new Freunde("N_Name2","Name2",2500);
      liste[2] = new Freunde("N_Name3","Name3",3000);
      
      for(int i=0; i<liste.length; i++) {
         liste[i].listeAusgeben();
      }
   }
   
   void personLohnErhoehen()  {
       personErstellen();
      for(int i=0; i<liste.length; i++) {
         liste[i].lohnErhoehen();
      }
   }

Danke!
 

TheJavaKid

Top Contributor
ich hab noch nie verstanden warum man methoden überschreiben sollte bzw. wo man das brauchen kann...
 

Leroy42

Top Contributor
Leider kann ich dir jetzt keine süffisant zynische Antwort mehr darauf geben,
weil Chef gerade Büro abschließt :(

Also: Glück gehabt :cool:
 

TheJavaKid

Top Contributor
phu, jetzt bin ich erleichert :roll:

nein ernsthaft jetzt... ich hab das Override zeug noch nie gebracht...

Code:
public class A {
    public void eineMethode() {}
}
class B {
    @Override
    public void eineMethode() {}
}


so mein erstes override ever :lol:
 
B

bygones

Gast
sorry Hackl dich enttäuschen zu müssen... das ist nicht override...

du hast zwei unabhängige Klassen die beide eine Methode haben mit der selben Signatur - mehr nicht.

um mal ein super-dämliches Bsp zu zeigen:

Code:
public abstract class Mensch {
    public void wasMachtMichScharf() {
       System.out.println("Ein gutes Essen");
   }
}

public class Frau extends Mensch {
    public void wasMachtMichScharf() {
      System.out.println("Ein netter, intelligenter Mann, der für mich sorgt und liebevoll und verständnisvoll ist. Der mich auf Händen trägt und dem ich mich voll hingeben kann.....");
   }
}

public class Mann extends Mensch {
   public void wasMachtMichScharf() {
     System.out.println("Brüste");
   }
}
 

TheJavaKid

Top Contributor
deathbyaclown hat gesagt.:
sorry Hackl dich enttäuschen zu müssen... das ist nicht override...

was ist daran falsch???

so besser:

Code:
public class A { 
    public void eineMethode() {} 
} 
public class B { 
    @Override 
    public void eineMethode() {} 
}
 

SebiB90

Top Contributor
Hackl hat gesagt.:
deathbyaclown hat gesagt.:
sorry Hackl dich enttäuschen zu müssen... das ist nicht override...

was ist daran falsch???

so besser:

Code:
public class A { 
    public void eineMethode() {} 
} 
public class B { 
    @Override 
    public void eineMethode() {} 
}
ne auch falsch.
ne methode kannste nur überschreiben wenn die eine Klasse von der anderen Klasse erbt also müsste das (public) class B extends A heißen

und Hackl haste schonmal im ein (J)Frame oder (J)Panel etwas gezeichnet? wenn ja, dann wirste schon einen sinn in überschreiben sehen ;)
 
R

Roar

Gast
er hat aber in Mann den super.wasMachtMichScharf() aufruf am ende vergessen :!: (zumindest bei getName().equals("Roar") :) )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Simon16 compareTo Methode überschreiben Allgemeine Java-Themen 4
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
Meldanor finalize Methode überschreiben für .close() Allgemeine Java-Themen 5
T Final Methode dennoch überschreiben! Allgemeine Java-Themen 10
V Methode überschreiben -> leer lassen? Allgemeine Java-Themen 3
R toString() methode überschreiben mit rekursivem aufruf. Allgemeine Java-Themen 8
B Equals Methode überschreiben mit Array Allgemeine Java-Themen 2
M Bean Listener hinzufügen und Methode später überschreiben Allgemeine Java-Themen 27
W Hilfe bei Methode Allgemeine Java-Themen 14
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
TheSkyRider Methode über DataInputStream "auslösen" Allgemeine Java-Themen 6
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
thor_norsk toString() - Methode Allgemeine Java-Themen 6
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
Encera Zweite Main-Methode zuschalten Allgemeine Java-Themen 18
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
N Schnellste Methode, ein Array durchzugehen? Allgemeine Java-Themen 9
E Methoden abstract static Methode Allgemeine Java-Themen 8
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
B In Java Methode mit generic input und output basteln? Allgemeine Java-Themen 4
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
T C++ Methode Übersetzung in Java Allgemeine Java-Themen 3
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
J RotSchwarzBaum: Löschen mittels insert-Methode Allgemeine Java-Themen 20
Y Java Bruttoberechnen + runden Methode Allgemeine Java-Themen 1
R Warum ist die Methode unendlich oft rekursiv? Allgemeine Java-Themen 5
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
D ArrayListe delete Methode klappt nicht Allgemeine Java-Themen 12
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
Scream_ilias brute force methode verbessern? Allgemeine Java-Themen 6
Scream_ilias passwort meines pc per brute force methode knacken Allgemeine Java-Themen 4
S static methode im Interface Allgemeine Java-Themen 1
M Konstruktor einer Methode Allgemeine Java-Themen 35
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Sinn einer toString Methode Allgemeine Java-Themen 3
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Methoden Über Reflections eine Methode mit aufrufen Allgemeine Java-Themen 3
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
L ToString-Methode Allgemeine Java-Themen 6
X Datentypen NPE in längerer Methode Allgemeine Java-Themen 12
I Methoden Generics-Methode Allgemeine Java-Themen 3
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
B APi methode kurz anhalten Allgemeine Java-Themen 8
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
R Rekursive Methode Allgemeine Java-Themen 8
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
C Threads Methode verhält sich merkwürdig Allgemeine Java-Themen 18
R rekursive und iterative Methode Allgemeine Java-Themen 3
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
D Methoden Methode zum Steinschnitt Allgemeine Java-Themen 2
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
D Returnwert aus einer Methode gerundet ausgeben lassen Allgemeine Java-Themen 2
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
H Methoden Methode 'updateItem' der Klasse 'TreeCell' Allgemeine Java-Themen 3
snipesss Methode greift nicht auf JTextPanel zu Allgemeine Java-Themen 3
R Methode in Methode voraussetzen Allgemeine Java-Themen 8
S Überschriebene Methode der Oberklasse der Oberklasse aufrufen. Allgemeine Java-Themen 5
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
BRoll Methode abbrechen (Invoke von außen) Allgemeine Java-Themen 5
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
G Threads Methode nebenbei ausführen, Status verarbeiten Allgemeine Java-Themen 4
H FTP Befehl/Java Methode für Submit im z/Os (Host) Allgemeine Java-Themen 1
M Fabrik Methode, gutes Beispiel? Allgemeine Java-Themen 0
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
N WaitForScript- methode in javafx Allgemeine Java-Themen 1
2 jede Stunde Methode ausführen Allgemeine Java-Themen 8
M Eine static-Methode verlassen Allgemeine Java-Themen 2
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
X Komponente an Methode übergeben Allgemeine Java-Themen 1
A Methode ergibt Java NullpointerException. Allgemeine Java-Themen 3
S Getestete Methode um das Beste aus URL-Nutzereingaben rauszuholen..? Allgemeine Java-Themen 4
L Methoden Methode gibt mir beim verschlüsseln mit RSA 0 bytes aus ? Allgemeine Java-Themen 1

Ähnliche Java Themen


Oben