Hallo dieser Code liefert mir nichts, kann jemandem mit sagen wieso
die Ausgabe sollte ungefähr so aussehen
Java:
public class FeldZugriffe {
// Instanzfeld
int zaehlerAlsInstanzfeld;
// Klassenfeld
static int zaehlerAlsKlassenfeld;
// Parameterlosen Konstruktor
public FeldZugriffe() {
zaehlerAlsKlassenfeld++;
zaehlerAlsKlassenfeld++;
}
// Instanzmethode anzeigeinstMeth() Instanzmethode haben zugrifft auf
// Instanzfelder und Instanzklassenfelder
public void anzeigeInstMeth() {
System.out.println("Zaehler als Instanz: " + zaehlerAlsInstanzfeld);
System.out.println();
System.out.println("Zaeler als Klassenfeld: "
+ FeldZugriffe.zaehlerAlsKlassenfeld);
System.out.println();
// Innerhalb der Klasse kann auf den Klassennamen verzichtet werden, und
// so schreiben
System.out.println("*" + zaehlerAlsKlassenfeld);
System.out.println();
}
// Klassenmethode anzeigeKlsMeth() Klassenmethoden haben direkten Zugriff
// auf Klassenfelder,
// darin können nur die Instanzfelder eines erzeugten Objektes der Klasse
// angesprochen werden
public static void anzeigeKlsMeth() {
System.out.println("Zaeler als Klassenfeld: " + zaehlerAlsKlassenfeld);
System.out.println();
System.out.println("Zaeler als Klassenfeld: "
+ FeldZugriffe.zaehlerAlsKlassenfeld);
System.out.println();
System.out.println("*" + zaehlerAlsKlassenfeld);
System.out.println();
//System.out.println(zaehlerAlsKlassenfeld); // Fehlemeldung
// muss zuerst ein InstanzKlasse erzeugen
FeldZugriffe instanz = new FeldZugriffe();
System.out.println("Zaeler als Instanzfeld: "
+ instanz.zaehlerAlsInstanzfeld);
System.out.println();
System.out.println("*" + instanz.zaehlerAlsInstanzfeld);
System.out.println();
}
// Klasse FeldZugriffeTest zum Testen
class FeldZugriffeTest {
public void main(String[] args) {
FeldZugriffe instanz = new FeldZugriffe();
instanz.anzeigeInstMeth();
FeldZugriffe.anzeigeKlsMeth();
//System.out.println();
}
}
}
die Ausgabe sollte ungefähr so aussehen
Java:
Zaehler als Instanzfeld: 1
Zaehler als Klassenfeld: 1*1
Zaehler als Klassenfeld: 1*1
Zaehler als Instanzfeld: 1*2