problem z widocznością obiektu

0

Witam:) Mam małe pytanie wydaje się w prostej sprawie, jednak przysparza mi wiele problemów.
Oto klasa, która obsługuje przycisk jest jego słuchaczem:

// obsługa przycisku 1
class wjazd implements ActionListener
{
klienci e= new klienci();
*TEST ID zliczanie *TEST TEST TEST
System.out.println(e.id());
}
}

A to druga klasa z metodą, która zwraca wartość o jeden większą od poprzedniej:
public class klienci
{
int numer;

public klienci()
{
	numer=0;
}


int id()
{
	numer++;
	return numer;
}

}

I teraz moje pytanie: Gdzie w pierwszej klasie umieścić: klienci e= new klienci(); , by przy każym kliknięciu na przycisk nie tworzył się nowy obiekt tej klasy? Bo jeśli jest w pętli, to tworzy się nowy obiekt i cały czas zwraca mi tę samą wartość 1. Powinien być poza nią, jednak gdy próbuje tak zrobić porgram nie działa i nie może znaleźć e.id() .
Może zapytam tak: Gdzie mam umieścić klienci e= new klienci(); , by było to widoczne w całym programie? Proszę bardzo o pomoc.</b>

0

Po pierwsze nazwy klas zaczynaj od wielkich liter.

Po drugie potrzebny jest Ci wzorzec sigleton:
W klasie Klienci dopisz następującykod

private static Klienci instance = new Klienci();
public static Klienci getInstance(){
    return instance;
}

I później gdziekolwiek:

Klienci klienci = Klienci.getInstance();

Po trzecie klasa Klienci nie jest do niczego potrzebna, użyj standardowej klasy java.util.concurrent.atomic.AtomicInteger.

0

Dziękuje bardzo za szybkie i jasne wytłumaczenie problemu:) Wszystko działa bez zarzutu:) DZiękuje raz jeszcze. Jestem bardzo wdzięczny. Zastosuje się do podanych instrukcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1