Wpis z mikrobloga

#naukaprogramowania #java
Czemu w poniższym przykładzie zmienia się id a jak usuniemy static to będzie w każdym id = 1 ?

public class Static {

public static void main(String[] args) {

Klient a = new Klient("Janek");
Klient b = new Klient("Janusz");
Klient c = new Klient("Józef");

System.out.println(a.id);
System.out.println(b.id);
System.out.println(c.id);
}

}

class Klient
{
String imie;
int id = 0;
static int nastepnyId = 0;

Klient(String imie)
{
this.imie = imie;
nastepnyId++;
id = nastepnyId;
}

}
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 3
@readme_txt Modyfikator static oznacza iż pole obiektu ma taką samą wartość dla wszystkich obiektów danej klasy. Formalnie oznacza to iż wszystkie obiekty danej klasy odwołują się do tego samego miejsca w pamięci.
  • Odpowiedz