Konstruktor Problem bei Vererbung

javanoob3000

Neues Mitglied
Hallo,

ich versuche mir im Augenblick Java beizubringen. Habe als Entwicklungsumgebung "Eclipse Juno". Nun habe ich ein Problem mit Konstruktoren, glaube ich zumindestens. Mein Problem im untenstehenden Code-Beispiel ist, dass ich bei der Subklasse "Kleinwagen" im Konstruktor das Attribut Marke fest mit "VW" definieren will und mir das dann anzeigen lassen möchte. Leider sagt er mir dann "Marke cannot be resolved to a variable". Ich hab da irgendwie ein Verständisproblem warum er mir jetzt nicht einfach VW ausgibt 🙁


Java:
public class Auto
 {
	
	 //Attribute
	 static int Verbrauch;
	 static String Farbe;
	
	//Konstruktor
	  Auto() 
	  {
 
	  }
	 //Methoden
	

	 public static void main(String[] args) 
	 {
		class Kleinwagen extends Auto
		{
			//Attribute
			String Marke;

			//Konstruktor
			 Kleinwagen ()
			{
				Farbe = "grün";
				Marke = "VW";
			}
		}
		Kleinwagen Golf = new Kleinwagen();
		Golf.Verbrauch = 7;
		System.out.println(Verbrauch);
		System.out.println(Farbe);
		System.out.println(Marke);
	}

}
 
Zuletzt bearbeitet von einem Moderator:
Nur dein "Golf" hat Farbe, Marke und Verbrauch. Du musst also (Golf.Marke) ausgeben.
static ist ebenfalls nicht unbedingt korrekt an der Stellen. Denn das würde technisch bedeuten, das Alle Autos die selbe Farbe und den selben Verbrauch haben.

Nutze dazu lieber "protected" statt "static". Somit kannst du in der Unterklasse "Kleinwagen" noch auf diese Attribute zugreifen.
 

Zurück
Oben