OOP

Jana

Mitglied
Wieso kann ich auf diese Instanzvariablen nicht zugreifen?
Weder so wie unten beschrieben noch mit dem Keywort this.
Java:
public class Test
{

double x, betrag;

public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("X-Wert= ");
        x = scan.nextDouble();
}
}
 

rme

Top Contributor
Hallo :)

Du hast richtig beschrieben, dass x und betrag Instanzvariablen sind. Das Problem ist nun, dass du in der main-Methode noch gar keine Instanz von deiner Test-Klasse hast - main ist static und wird von Java ohne Instanz aufgerufen, damit du die Chance hast, deine Objekte alle selbst zu erzeugen.

Lösung also: Entweder machst du die Variablen auch static, damit sie ohne Instanz funktionieren - oder du erzeugst in main eine Instanz deiner Klasse, mit der du arbeiten kannst:

Java:
public class Test
    {
    double x, betrag;
    public void tueDinge() {
            Scanner scan = new Scanner(System.in);
            System.out.println("X-Wert= ");
            x = scan.nextDouble();
    }     

    public static void main(String[] args) {
            Test test = new Test(); // instanz erzeugen
            test.tueDinge(); // und damit arbeiten
    }
}

Falls du das nicht genau verstehst, kann ich's auch gern ausführlicher erklären, aber vielleicht hilft dir das schon :)
 

Oben