Hallo Zusammen, bin mal wieder hier in der Hoffnung Hilfe zu finden
Ich habe vor einiger Zeit begonnen in Java einzusteigen, also als blutiger Anfänger. (also wirklich schon fast "verbluteter" Anfänger .
Dazu habe ich mir das Buch "objektorientierte Programmierung in Java, 7. überarbeitete Auflage, von Alexander Niemann. (Ohne Schleichwerbung zu machen, kann ich sagen, das Buch ist echt der Hammer und super um mit nur sehr wenig Vorwissen in die Programmierung einzusteigen.)
Aber nun zu meiner Frage, niemand liest ja gerne:
Ich habe eine Klasse des Buches abgeschrieben für das erste Beispielprogramm. // Als kleine Info: Das Programm sollte eine Verwaltungssoftware für eine "Mietwagen-Firma" sein, und sollte einfache Funktionen, wie das anzeigen und eingeben von Merkmalen eines Autos ermöglichen. \\ Die erste Klasse sieht so aus, und hat super geklappt:
----------------------------------------------------
package Fahrzeug;
abstract class StrassenFzg {
protected String bezeichnung;
protected short geschwindigkeit;
protected boolean verliehen;
abstract boolean eingeben();
abstract boolean anzeigen();
public boolean verleihen() {
if (verliehen)
return false;
else {
verliehen = true;
return true;
}
}
}
-----------------------------------------------------
Die 2. Klasse stellt eine Unterklasse von Fahrzeug dar: Auto.
In dieser klasse muss ich die Methoden eingeben() und anzeigen() implementieren. Doch wenn ich die Klasse mit dem folgenden Quelltext kompilieren will, kommt nur die Meldung symbol not found oder so. (übrigens habe ich die Klasse haargenau so abgetippt wie im Buch.)
------------------------------------------------------
package Fahrzeug;
import java.util.Scanner;
public class Auto extends StrassenFzg {
public short plaetze;
public boolean eingeben() {
//Methode eingeben():
Scanner eingabe = new Scanner(System.in);
try {
System.out.print("Bezeichnung ");
bezeichnung = eingabe.nextLine();
System.out.print("Sitzplaetze: ");
plaetze = eingabe.nextShort();
System.out.print("Geschwindigkeit ");
geschwindigkeit = eingabe.nextShort();
return true;
} catch (Exception e) {
System.out.println(e);
return false;
}
}
public boolean anzeigen() {
//Methode anzeigen():
System.out.println("\nBezeichnung: " + bezeichnung);
System.out.println("Anzahl Sitzplaetze: " + plaetze);
System.out.println("Max. Geschwindigkeit: " + geschwindigkeit);
if (verliehen) {
System.out.println("Dieses Fahrzeug ist verliehen!");
} else {
System.out.println("Dieses Fahrzeug ist noch frei.");
}
}
}
-----------------------------------------------------------
In der Fehlermeldung heisst es, dass genau die Variablen nicht gefunden werden, die man in der Methode eingeben() braucht. Obwohl ich sie gemäss Anleitung mit dem entsprechenden Modifikator versehen habe, damit sie vererbt werden.
Ich habe eine Vermutung: Im Buch wird noch mit der Java Version 7 programmiert, ich programmiere jedoch mit der Version 8. Kann es sein, dass die Vererbung irgendwie geändert hat? Oder findet irgendjemand, der das liest, und selber Java versteht, den Fehler? Ich versuche noch einen Screenshot der Fehlermeldung zu posten.
Könnte mir ausserdem vielleicht sagen, warum der Fehler illegal start of Type kommt?
Ich danke euch vielmals für eine Antwort, und bitte darüber hinweg zu sehen, dass ich vielleicht nicht wirklich viel von Java verstehe (oder zumindest noch nicht so viel).
Auf jeden Fall vielen Dank für jede, noch so kleine Bemühung, mir zu helfen
Lg Ineedmorehelp a.k.a Max Bierschock
ineedmorehelp (12) |