Instanzvariabeln, Klassenvariabeln,  Lokale Variabeln, Konstanten

Generell 4 Arten
lokale Variabeln
werden innerhalb einer Methode deklariert
Instanzvariabeln
werden ausserhalb von Methoden deklariert. Jede Instanz der zugehörigen Klasse erhält eine Kopie.
Klassenvariabeln
werden ausserhalb von Methoden deklariert. Es existiert immer nur eine Kopie (vgl. Coding)
Instanzen (Objektvariabeln)
Eine Variable, die eine Referen auf eine Klasseninstanz im Speicher enthält.



Instanzvariabeln (auch Objektvariable) und Klassenvariabeln

beschreiben/definieren einen Zustand eines bestimmten Objektes (Instanz)

package Methode_Klassen_etc;

public class MeineKlasse {

//  Instanzvariable werden für jede Instanz angelegt
    int wert = 0;
// Klassenvariable: static, werden pro Klasse nur einmal angelegt; existiert pro Klasse nur einmal!
    static String Klassenvariable = "Ich bin eine Klassenvariable";    

    //Konstruktor
    MeineKlasse(int wert_des_zaehlers) {
        wert = wert_des_zaehlers;
    }//Konstruktor

    public static void main(String[] args) {

        MeineKlasse Erste_Instanz = new MeineKlasse(10);
        // man kann aber auch anders instanzieren
        MeineKlasse Zweite_Instanz;
        Zweite_Instanz = new MeineKlasse(20);
        // Zugriff auf eine Instanzvariable: Vor dem Punkt steht die Instanz
        int Wert_der_Instanzvariable = Erste_Instanz.wert;
       
        //    Ausgabe der Instanzvariable: Vor dem Punkt steht die Instanz
        System.out.println(Erste_Instanz.wert);
        // Ausgabe der Klassenvariable: Vor dem Punkt steht die Klasse
        System.out.println(Instanzvariable.Klassenvariable);
       
    }

}

Lokale Variabeln

- werden nur innerhalb von Methoden/Schleifen/Blöcken definiert
- existieren nur solange im Speicher, wie Methode/Schleifen/Blöcken existiert
- müssen vor dem ersten Gebrauch einen Wert besitzen
- können nicht als Konstanten gesetzt werden (final also nicht erlaubt)

Konstanten
bei Deklaration final verwenden; in der API werde eine grosse Anzahl von Konstanten angeboten

final int Hugo = 5;