automatische laufende Nummer erzeugen

Mehadorz

Mitglied
Hallo zusammen,

irgendwie stehe ich auf den Schlauch, ich möchte für jedes Objekt automatisch eine laufende Nummer vergeben.

Bei meinen bisherigen Lösungsansätzen wird immer die gleiche Nummer vergeben, entweder bleibt er bei 1 stehen oder es immer die letzte Nummer, wenn ich die Zahl als static deklariere.

Hat jemand eine Idee?
 
Java:
public class Counter {
  static int number = 0;
  int id;
  public Counter() {
      number++;
      id = number;
  }
}

Müsste klappen. ID ist die fortlaufende Nummer. Number die Gesamtzahl der Objekte.
 
Wenn du nicht eine äußere Klasse hast, die ausnahmslos alle Instanzen dieser Objekte erzeugt oder so ähnlich, nicht^^
 
Denk aber daran dieses Programmteil zu synchronisieren. Dazu brauchst du eine (statische) Methode oder eine Konstante auf die du Locken kannst.

Statisch ist nicht unbedingt notwendig, aber man schreibt von einer Instanzmethode normal nicht in eine statische Variable.
 
... was hindert mich daran mehrere Counter zu instanzieren?
Da währe jetzt aber defintiv ein Singleton (ja ich weiss. Das ist eine Religionsfrage) o.ä. angebracht.
 
... was hindert mich daran mehrere Counter zu instanzieren?
Da währe jetzt aber defintiv ein Singleton (ja ich weiss. Das ist eine Religionsfrage) o.ä. angebracht.

Es ist doch gerade der Sinn mehrere Counter zu instanzieren^^ Es soll ja für jedes neue Objekt die Nummer um eins erhöht werden^^
(Vllt hab ich den Namen Counter ungünstig gewählt, aber es soll ja irgendwas gezählt werden, nämlich die Anzahl der Instanzen dieser Klasse)
 

Zurück
Oben