Hey, ich kenne diese fehlermeldung und trotzdem weiß ich nicht wo das Problem liegt da meiner Meinung nach alles os stimmen müsste, hab die Methode ja so übernommen.
Java:
abstractclassStar{// Die Zeitpunkte sind in Hunderstel Sekunden.// Wenn 20 Bilder pro Sekunde erzeugt werden,// wird nur jeder 5-te Wert angefragt.// Ist das Objekt sichtbar zum Zeitpunkt t?abstractbooleanvisible(int t);// Wenn das Objekt zum Zeitpunkt t nicht sichtbar// ist, spielen die Ergebnisse der folgenden// Methoden keine Rolle.// x-Position (Bereich 0 .. 500) zum Zeitpunkt t:abstractintposX(int t);// y-Position (Bereich 0 .. 500) zum Zeitpunkt t:abstractintposY(int t);// Farbe des Objektes zum Zeitpunkt t:abstractColorcolor(int t);// Radius der Leuchtkugel zum Zeitpunkt t (Pixel):abstractintsize(int t);}// ============================================================================// Hier Ihre Unterklasse(n) von Star (Leuchtkugeln):// ============================================================================classSimpleStarextendsStar{int t;int t1;int t2;int x1;int x2;int y1;int y2;int x;int y;
java.awt.Color farbe;publicSimpleStar(int t1,int t2,int x1,int y1,int x2,int y2,java.awt.Color farbe){this.farbe=farbe;this.t1=t1;this.t2=t2;this.x1=x1;this.x2=x2;this.y1=y1;this.y2=y2;}publicbooleanvisible(){if(t1<t&&t<t2)returntrue;}publicintposX(){int x=x1+(x2-x1)*((t-t1)/(t2-t1));return x;}publicintposY(){int y=y1+(y2-y1)*((t-t1)/(t2-t1));return y;}publicintcolor(){int test=150;return test;}@Overrideintsize(){int size=3;return size;}}
Das das mit meiner Farb Methode nicht hinhaut weiß ich, also hab ich erstmal irgendeine zahl eingetragen damit es überhaupt erstmal kompilierbar wird, sonst kann ich das nicht abgeben :/ Aber warum die Methode int size() nicht funktionieren will leuchtet mir nicht ein.
Die Klasse Star war bereits gegeben und meine Aufgabe ist es nur diese um die Klasse SimpleStar zu erweitern.
Wieso schreibst du nur in Zeile 71 @Override? Das kannst du quasi vor jede Methode in deiner Klasse schreiben, die die Methode der Oberklasse überschreibt (entweder ganz oder gar nicht ), dann wäre dir vermutlich auch aufgefallen, dass nicht nur die eine Methode falsch ist, sondern auch alle anderen.
Dass die Fehlermeldung kommt, liegt daran, dass du kennzeichnest, die Methode würde was überschreiben, obwohl du es nicht tust. Dein Methodenname ist der Selbe, aber schau mal auf deine Parameter (bei all deinen Methoden)..
Das @Override hatte ich dort reingemacht weil nur dort die Fehlermeldung kam, also dachte ich ich kann ihn so dazu zwingen
Naja denke mal du meinst dann müsste in die Parameter überall das t oder? also zB. boolean visible(t){...}
Aber wenn ich das schreibe dann kriege ich dauernd die Meldung identifier expected. Verwirtt mich genauso sehr:shock:
Wow das war es, hätte gedacht der Datentyp ist hinfällig da er aus der Oberklasse weiß was für ein Datentyp das ist?:bahnhof:
Jetzt hat sich noch ein Folgeproblem ergeben, aber wenn ich das richtig in Erinnerung habe soll ich dafür einen anderen thread öffnen also werde ich das mal tun
Nein es kann vorkommen das es zwei Methoden gibt die den gleichen Namen haben und jeweils einen Parameter.
Ohne dem Datentyp kannst du nichts sicherstellen welche du nun überschreibst usw.