Methoden vor deklaration "ausführen" ...
-
hi,
ich hab mal eine frage zum ausführen von methoden bevor sie im quelltext kommen ... man könnte das wohl auch als sprung bezeichnen
Ich hab eine methode die errechnet was und dann wird es auf gültigkeit geprüft, wenns falsch ist, gibt es eine Exception und wenn das passiert, soll eine andere methode aufgerufen werden, die aber erst weiter unten im quelltext erscheint.
Ich kannte das früher als forwarding von Prozeduren/funktionen ... aber hab bis jetzt noch nichts passendes in der javabibliothek gefunden.
mfg
-
Hi,
ich weiß nicht, ob ich diene Frage richtig verstanden habe. Du meinst sowas?
public class MyClass { public void myMethod() { /* ... */ myMethod2(); } public void myMethod2() { /* ... */ } }
-
ja genau sowas mein ich das eine funktion ausgeführt werden soll bevor sie deklariert ist.
-
das ist eigentlich völlig egal, ich kann mir nur vorstellen das du da an einem relikt von C hängst, da konnt man doch quelltexte nich compilieren wo der methodenaufruf vor der deklaration stand (ausgenommen prodezdurprototypen)
in java iss das absolut unbedeutend
-
Genau, in java völlig wurscht. Du kannst ja auch in Java das Problemlos machen:
// A.java public class A { private B b; /* ... */ } // B.java public class B { private A a; /* ... */ }
-
[edit][joke]ACHTUNG !!! bloß nicht zu hause ausprobiern, Endlosschleife!!! :p[/joke][/edit] geändert wegen Unbekannt um missverständnisse zu vermeiden
-
Ceos schrieb:
ACHTUNG !!! bloß nicht zu hause ausprobiern, Endlosschleife!!! :p
Verdammt, jetzt hast du meine unsichtbare Endlosschleife gesehen...oder hast du geraten?
-
[edit][joke]
[spam]
*umformulierACHTUNG! Dieser Quelltext wurde von einem professionellen Rechenzeit-/Speicherverschwender geschrieben, bitte nicht zu Hause nachschreiben und ausprobieren!
Für Risiken und Nebenwirkungen schlagen sie ihren Administrator
[/spam]
[ernst]
ich editier die [ironie] tags jetzt mal nicht noch da oben rein
[/ernst][/joke][/edit] geändert wegen Unbekannt um missverständnisse zu vermeiden
-
naja aber ich bekomm eine fehlermeldung vom compiler das er das Symbol nicht finden würde ...
Programm.java:239: cannot find symbol
symbol : method paint()
location: class Programm
paint();in meinemf all ist es der klassiker "paint"
bei mir sieht das soaus:
public void sTeilen()
{try{ Berechnung }
catch(Exception e) { fehler = 1; paint();}Berechnung
}
public void paint(Graphics screen)
{
das übliche
}Also er macht eine berechnung und prüft diese, kommt ein fehler wird der abgefangen und die fehlervariable gesetzt. danach die methode beendet werden und direkt paint durchlaufen.
-
frage 1 ist das ganze in einem classblock zusammen
frage 2 warum rufst du dein paint im try catch ohne parameter auf ? ich schätze mal das es daran liegt ....
[EDIT] was ich meine ist das du die methode mit einem parameter deklarierst aber ohne parameter nenaufruf machstdesweiteren leg ich dir ernsthaft ans herz eclipse zu benutzen statt nem texteditor (oder was auch immer ;p)
-
Du rufst ja ein paint ohne Parameter auf hast aber ein paint mit Parameter deklariert. So kann er die Methode natürlich nicht kennen.
-
den parameter hab ich mitgegeben aber er findets trotzdem nicht und ja das ist alles in einer einzigen klasse.
würde paint() nicht auch aufgerufen wenn ich repaint() aufrufe ??
-
erm nur zum verständniss, kann es sein das deine klasse irgendein interface implementiert oder erweitert und du versuchst mit pain(XYZ); eine vorhandene methode zu überschreiben ????
-
ne ich hab kein interface, das ganze programm ist halt ein applet ansonstebn ist da nix besonderes dran.
-
trotzdem, paint() != paint(Graphics) !
-
also DOCH extends Applet oder jApplet !! und du willst die paint methode überschreiben.
Gut das zu wissen, ich denke jetzt kann jeder was damit anfangen
leider kann ich dir in der beziehung nicht helfen
-
Zeig doch mal den ganzen Code?!
-
Ceos schrieb:
ACHTUNG !!! bloß nicht zu hause ausprobiern, Endlosschleife!!! :p
stimmt gar nich, steht doch nirgendwo ein "new"
-
... schön für dich ... haste geraten wie ?
-
nö ich kann lesen und ich kann programmieren