Ich habe zwei Klassen:Wie kann ich jeder Instanz einer Klasse eine eindeutige fortlaufende Nummer zuweisen?
public class Worker{
String name;
private static int count=0;
public Worker(String N){
name=N;
count++;
}
public String numberOfTime(){
return name +", "+ count;
}
}
public class counting{
public static void main(String[]args){
Worker worker1 = new Worker("Jack");
Worker worker2 = new Worker("John");
System.out.println(worker1.numberOfTime());
System.out.println(worker2.numberOfTime());
}
}
Während ich bekommen (Jack, 1) und (Johannes, 2) und so weiter, er druckt (Jack , 2) und (John, 2).
Kann mir jemand erklären, wie man das ändert?
Danke.
Statische Variablen gehören zum Klassenobjekt, nicht Instanzen. – Maroun
Warum "John 2"? Es heißt nur einmal für "John" – Jens
Ich möchte jedem Arbeiter eine Nummer geben. Der erste Arbeiter wäre die Nummer 1, während der letzte Arbeiter die Nummer n wäre. Hier jedoch gibt es mir die Anzahl der Zeit, die die Methode aufgerufen wurde (immer i). –