Auf Variable zugreifen

Status
Nicht offen für weitere Antworten.

Dagobert

Bekanntes Mitglied
warum geht diese Zeile nicht? oO
this.geschw.setText(String.valueOf(Auto.geschwindigkeit) + " Km/h");

einmal mein Fenster:
Code:
package OOP.Auto;

import java.awt.*;
import javax.swing.*;

public class Fenster extends JFrame {
	
	//	Instanzvariablen
	public Label geschw, schaden;
	
	public Fenster()
	{
		geschw = new Label();
		//Konstruktor
			//Layoutmanager
			this.setLayout(new BorderLayout());
			this.setSize(500,300);
			this.add(geschw,BorderLayout.SOUTH);
			this.geschw.setText("0 Km/h");
			this.geschw.setText(String.valueOf(Auto.geschwindigkeit) + " Km/h"); <-- Warum kann ich da nicht drauf zugreifen? Also auf das Auto.geschwindigkeit?
			this.setVisible(true);
	}
}

und dann noch die Auto klasse:

Code:
package OOP.Auto;

public class Auto {

	public double geschwindigkeit = 0, maxgeschwindigkeit, nullaufhundert,
			richtung, reifengroese, ps, schaden;

	public double verbrauch, sitzanzah, laenge, breite, laderaum, gewicht,
			airbackanzahl;

	public boolean blinkerlinks, blinkerrechts, licht, hupe, abs, esp, airback,
			scheibenwischervorne, scheibenwischerhinten;

	public String marke, typ, farbe;

	// Berechnen von A

	public void beschleunigen(double geschwindigkeit) {

	}

	public void bremsen() {

	}

	public void lenkenrechts() {
		if (richtung == 360)
			richtung = 0;
		richtung++;

	}

	public void lenkenlinks() {
		if (richtung == 0)
			richtung = 0;
		richtung--;
	}

	public void LichtEinschlatenAusschalten() {
		if (licht == false) {
			licht = true;
		} else {
			licht = false;
		}
	}

	public void BlinkerLinks() {
		if (blinkerlinks == false) {
			blinkerlinks = true;
		} else {
			blinkerlinks = false;
		}

	}

	public void BlinkerRechts() {
		if (blinkerrechts == false) {
			blinkerrechts = true;
		} else {
			blinkerrechts = false;
		}
	}

	public void Hupen() {
		if (hupe == false) {
			hupe = true;
		} else {
			hupe = false;
		}
	}

	public void ScheibenwischerVorne() {
		if (scheibenwischervorne == false) {
			scheibenwischervorne = true;
		} else {
			scheibenwischervorne = false;
		}
	}

	public void ScheibenwischerHinten() {
		if (scheibenwischerhinten == false) {
			scheibenwischerhinten = true;
		} else {
			scheibenwischerhinten = false;
		}
	}
}
 
Code:
...
public class Fenster extends JFrame {
...
    private Auto auto;
    public Fenster() {
...
        auto = new Auto();
...
        this.geschw.setText(String.valueOf(auto.geschwindigkeit) + " Km/h");
...
    }
}
 
ok soweit so
geht wunderbar
habs uach soweit verstanden...


auser das hier:
private Auto auto;

also mit private erstelle ich eine Instanzvariable die nur in Fenster verfügbar ist... Auto ist meine Klasse und auto der name... aber warum kommt da Auto hin? ich weis klingt dumm... aber so gut kenne ich mich in Java noch net aus...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben