Hallo, ich wollte mal ein wenig das objektorientierte Prinzip üben und eine Einfache Hierarchie von 2 Klassen als Übungsbeispiel erstellen.
Das erste Programm, dass nur aus einer Klasse besteht, funktioniert wunderbar.
Jetzt wollte ich die Vererbung mal üben und noch eine kleine Unterklasse erzeugen. Und dabei kommt immer die Fehlermeldung "illegal start of expression" in Zeile 6 (am Schlüsselwort "public").
Das Beispiel hab ich in abgewandelter Form einem (leider schon etwas älterem) Javabuch entnommen. Kann mir jemand sagen, wo der Fehler in dem zweiten Programm (in der Klasse Ausland) liegt?
Grüße,
Infostudent.
Das erste Programm, dass nur aus einer Klasse besteht, funktioniert wunderbar.
Code:
public class Orte { // Die Klasse Orte
/* Die Attribute einer Stadt, also ihre Eigenschaften (die in Variablen
festgehalten werden): */
private String name; // Stadtname (Deklaration)
private int einwohner; // Einwohnerzahl (Deklaration)
private double extension; // Ausdehnung in km² (Dek.)
private String buergermeister; // amtierender Buergermeister (Dek.)
/* Konstruktur: Hier werden die deklarierten Variablen initialisiert */
public Orte (String name, int einwohner, double extension, String buergermeister) {
this.name = name;
this.einwohner = einwohner; // this heißt: in dieser Klasse
this.extension = extension;
this.buergermeister = buergermeister;
}
/* Methode zum Anzeigen der Infos */
// 1. Methode: Staedteinfos anzeigen
public void infos() {
System.out.println ("Infos zu der Stadt " + name + "\n");
System.out.println ("Einwohner: " + einwohner);
System.out.println ("Extension: " + extension);
System.out.println ("Buergermeister: " + buergermeister);
System.out.println ("\n\n\n");
}
public static void main (String[] args) { // Hauptprogramm
/* Hier gebe ich die Daten an fuer die Stadt, die dann spaeter
angezeigt werden soll */
Orte Leipzig = new Orte ("Leipzig", 505312, 297.1, "B. Jung");
Orte Dresden = new Orte ("Dresden", 492050, 313, "bar");
Orte Berlin = new Orte ("Berlin", 3338321, 887.4, "foo");
Orte Frankfurt = new Orte ("Frankfurt", 652384, 434.3, "blabla");
Leipzig.infos(); // Zeigt jetzt die Infos zu Leipzig an
Frankfurt.infos(); // Zeigt jetzt die Infos zu Marienberg an
System.out.println(Leipzig.einwohner);
}
}
Jetzt wollte ich die Vererbung mal üben und noch eine kleine Unterklasse erzeugen. Und dabei kommt immer die Fehlermeldung "illegal start of expression" in Zeile 6 (am Schlüsselwort "public").
Code:
public class Ausland extends Orte { // Orte ausserhalb von Deutschland mit Angabe zum Land
{
String land;
public Ausland (String name, int einwohner, double extension, String buergermeister, String land)
{
super (name, einwohner, extension, buergermeister);
this.land = land;
}
}
Das Beispiel hab ich in abgewandelter Form einem (leider schon etwas älterem) Javabuch entnommen. Kann mir jemand sagen, wo der Fehler in dem zweiten Programm (in der Klasse Ausland) liegt?
Grüße,
Infostudent.