Immer wieder illegal start of expression

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Zusammen,

Vor zwe/drei Wochen begannen wir in der Schule mit java. Ich fand ein kleines Beispiel, das die Oberfläche eines Zylinders berechnen soll. Ich habe eine Klasse Kreis und eine Klasse Zylinder. In der Klasse Kreis soll in einer Methode die Fläche berechnet werden. Diese Methode braucht man in der Klasse Zylinder um die Oberfläche zu berechnen. Hier mal der Code:

Code:
class Kreis{
	
	private double r;
	private double radius;
	
	public void setRadius(double r){
		radius = r;
	}
	public double flaeche(){
		return 3.14*r*r;
	}
	public Kreis(double r){
		radius = r;
	}
	
}

und

Code:
import java.io.*;
import java.lang.*;

public class Zylinder extends Kreis{
	private double hoehe;
	
	public static void main(String[] args){
		Kreis meinZylinder;
		meinZylinder = new Kreis(12);
	
		
		public double flaeche(){
			double fl, umf;
			ufm = super.umfang();
			fl = super.flaeche();
			return 2*fl + hoehe*umf;
		}
	}
}



Die Klasse Kreis wird ohne Meldungen kompiliert (in der Konsole mit javac), aber bei der Klasse Zylinder kommt folgendes:

Zylinder.java:12: illegal start of expression
public double flaeche(){
^
Zylinder.java:19: class, interface, or enum expected
}→
^
2 errors

Ich suche schon recht lange nach einer Erklärung dieser Fehler, aber ich fand nirgendswo eine Lösung. Vielleicht sieht jemand von euch meine/n Fehler.

Vielen Dank scho im Voraus.
 
S

SlaterB

Gast
du definierst
public double flaeche(){ }
innerhalb der main-Operation, auch erkennbar an der Einrückung,

das ist nicht erlaubt, alle Operationen separat in der Klasse definieren
 
G

Guest

Gast
hm... jetzt habe ich es nach der main-operation geschrieben. nun kommen die fehler:

Zylinder.java:4: cannot find symbol
symbol : constructor Kreis()
location: class Kreis
public class Zylinder extends Kreis{
^
Zylinder.java:13: cannot find symbol
symbol : method umfang()
location: class Kreis
umf = super.umfang();
^
2 errors
 
S

SlaterB

Gast
wozu selber Java lernen wenn man andere nerven kann, was?

wenn die Oberklasse keinen Default-Konstruktor ohne Parameter hat,
dann musst du in Subklassen explizit angeben, welcher Konstruktor zu verwenden ist,
z.B.
Code:
public Zylinder(){ 
  super(99);
}

--------

die Operation umfang() ist schlicht nirgendwo vorhanden,
muss man dir das wirklich erst sagen?

(man soll ja freundlich sein, aber manchmal.. ;) )
 
G

Guest

Gast
Dass die Operation umfang nicht vorhanden ist habe ich auch gemerkt...

Braucht dann jede Klasse einen Konstruktor ohne Parameter?
Das sieht für mich wie der Konstruktor der Klasse Zylinder aus, vielleicht liege ich auch falsch.

Code:
public Zylinder(){
  super(99);
}

Was bedeutet dann hier super(99) genau? Hat r nacher den Wert 99?
 
S

SlaterB

Gast
> Braucht dann jede Klasse einen Konstruktor ohne Parameter?

nein, aber wenn er nicht da ist, dann weiß die Subklasse nicht, welcher Konstruktur zu verwenden ist,
bzw. kann sich ja keinen Radius ausdenken

> Das sieht für mich wie der Konstruktor der Klasse Zylinder aus,

darum gehts ja, Kreis ist ok, aber in Zylinder fehlte ein Konstruktor

> Hat r nacher den Wert 99?

jo
 
G

Guest

Gast
jetzt wird es ohne Fehlermeldungen kompiliert. Habe aber doch noch eine Frage:
Wenn mit

Code:
public Zylinder(){
  super(99);
}

r den Wert 99 bekommt, braucht man hier
Code:
meinZylinder = new Kreis(99);

99 dann noch?
 
S

SlaterB

Gast
Kreis meinZylinder;
meinZylinder = new Kreis(12);

hat überhaupt nix mit der Klasse Zylinder zu tun,
würde auch funktionieren wenn es Zylinder gar nicht gäbe

wenn du ein Kreis-Objekt erstellen willst, dann musst den Parameter angeben

-------
was anderes wäre

Zylinder meinZylinder;
meinZylinder = new Zylinder (); // bekommt Radius 99
 
S

SlaterB

Gast
so stehts geschrieben

String meinZylinder = "Hello World"; ist ein String
Kreis meinZylinder = new Kreis(12); ist ein Kreis

ein Zylinder ist strenggenommen auch ein Kreis durch die Vererbung, ja, falls du das meinst
 
G

Guest

Gast
Wäre es dann nicht sinnvoller zuerst ein kreis mit einer Fläche zu erstellen und diesen dann vererben und dann in der Klasse Zylinder einen zylinder mit der Fläche des kreises zu erstellen?
 
S

SlaterB

Gast
ne, Vererbung besteht nicht aus mehreren Objekten,

du solltest einen Zylinder erstellen, der ist dann automatisch auch ein Kreis und hat den Radius usw.
 
G

Guest

Gast
dann müsste ich

Zylinder meinZylinder;
meinZylinder = new Zylinder();

schreiben?
 
S

SlaterB

Gast
und da du sicherlich die 12 mitangeben willst, siehts du nun ein, dass du einen Zylinder-Konstruktor mti Parameter erstellen musst
 
G

Guest

Gast
Vielen Dank für di Hilfe, hab es zum laufen gebracht!! :)
Werde das mit der Vererbung und den Konstruktoren mal noch genauer studieren, aber danke für diese Information ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
D javac und java schliesst immer wieder. ist das normal? Java Basics - Anfänger-Themen 16
D Datei wird immer wieder überschrieben Java Basics - Anfänger-Themen 2
W File immer wieder öffnen und was dazuspeichern Java Basics - Anfänger-Themen 3
krgewb Immer dieselbe Zufallszahl Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
J Componente immer in Front halten, wie? Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
I Array übernimmt immer den letzten Input. Java Basics - Anfänger-Themen 14
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J Zweck von Interfaces immer noch nicht klar Java Basics - Anfänger-Themen 3
IMain23 2d Array variabler Spaltenwert, Spaltenwert immer um eins erhöhen Java Basics - Anfänger-Themen 3
N Arbeitsspeicher nach kompilieren immer voller Java Basics - Anfänger-Themen 6
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
B Operatoren Java berechnet immer 0? Java Basics - Anfänger-Themen 3
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
S Variable in JTextField soll immer um 5 zunehmen Java Basics - Anfänger-Themen 8
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
N Immer Aktiv sein. Java Basics - Anfänger-Themen 8
D Array wird immer mir 100 für jeden Wert initialisiert? Java Basics - Anfänger-Themen 2
J Ergebnis immer 0 Java Basics - Anfänger-Themen 8
S If-Anweisunng ist IMMER true Java Basics - Anfänger-Themen 2
S UserPref und Java Application klappt immer nicht. Java Basics - Anfänger-Themen 2
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
X Muss man das immer so schreiben o.O Java Basics - Anfänger-Themen 3
F Timer beendet nicht immer Java Basics - Anfänger-Themen 2
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
M zufälliges Setzen von Schiffen in while klappt nicht immer Java Basics - Anfänger-Themen 3
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
B Klassen Objekte werden immer überschrieben Java Basics - Anfänger-Themen 10
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
C JavaMail funktioniert nicht immer Java Basics - Anfänger-Themen 8
J .txt Datei "einlesen "und in String speichern ergibt immer NULL Java Basics - Anfänger-Themen 17
M Noch immer Probleme mit exec Java Basics - Anfänger-Themen 15
A Java Arrays immer um eins "vergrößern" Java Basics - Anfänger-Themen 4
E Input/Output Drucken am Mac immer gleiche Schriftgröße?!? Java Basics - Anfänger-Themen 2
R Hashset.add(Array) liefert immer true? Java Basics - Anfänger-Themen 23
I immer die gleiche Zufallszahl Java Basics - Anfänger-Themen 9
F Funktion immer zur vollen Stunde? Java Basics - Anfänger-Themen 3
A Warum immer das "J" im Klassennamen? Java Basics - Anfänger-Themen 10
M Erste Schritte Eclipse führt immer das gleiche Programm aus Java Basics - Anfänger-Themen 6
B Schlüsselworte this - immer oder nur wenn wirklich notwendig? Java Basics - Anfänger-Themen 9
A Wieso wird immer 0 ausgegeben? Java Basics - Anfänger-Themen 4
C 2 Objekte, 1 immer Null? Java Basics - Anfänger-Themen 8
P Classpath falscher Classpath, aber nicht immer Java Basics - Anfänger-Themen 19
E JButtons auf JFrame nicht immer sichtbar Java Basics - Anfänger-Themen 4
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
L Immer diese Arrays Java Basics - Anfänger-Themen 11
M OOP Graphics immer selbstbezihend Java Basics - Anfänger-Themen 12
D . ist nicht immer .!? Java Basics - Anfänger-Themen 18
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
L JTextField getText() gibt immer null zurück Java Basics - Anfänger-Themen 10
J \n funktioniert nicht immer Java Basics - Anfänger-Themen 10
L Woerterbuch liefert immer "null" Java Basics - Anfänger-Themen 41
J Datentypen Math.sqrt() immer NaN Java Basics - Anfänger-Themen 8
T Datei so speichern das sie immer erreichbar ist Java Basics - Anfänger-Themen 2
ruutaiokwu final wenn immer möglich verwenden? Java Basics - Anfänger-Themen 30
E Input/Output Datei immer weiter erweitern Java Basics - Anfänger-Themen 4
D Muss ich eigentlich immer auf die Verwendung des richtigen Datentyps achten? Java Basics - Anfänger-Themen 7
B if erzeugt nur immer ein FALSE Java Basics - Anfänger-Themen 2
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
F Midi-Sequenzer gibt immer denselben, schrägen Ton aus? Java Basics - Anfänger-Themen 2
M isHidden() von java.io.File liefert immer true in Windows Java Basics - Anfänger-Themen 3
A Immer wird "gut" ausgegeben Java Basics - Anfänger-Themen 14
G Immer mehr Threads beim Selbstaufruf der main-Methode Java Basics - Anfänger-Themen 3
N immer Setter-Methoden verwenden? Java Basics - Anfänger-Themen 54
M immer noch usedelimiter Java Basics - Anfänger-Themen 4
Y JFrame immer im Focus ? Java Basics - Anfänger-Themen 7
N ArrayList wird immer um zwei Elemente erweitert Java Basics - Anfänger-Themen 9
J cast zu int immer 0.. Java Basics - Anfänger-Themen 6
B Process.getInputStream immer leer Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben