Wytłumaczenie elementów klasy

Wytłumaczenie elementów klasy
ST
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 9 lat
  • Postów:56
0

Witam, w pewnym zadaniu mam klasę PriceList, która wygląda następująco:

Kopiuj
import java.util.HashMap;

public class PriceList {

	private static final PriceList INSTANCE = new PriceList();
	private HashMap<String, Integer> map = new HashMap<String, Integer>();

	private PriceList() {
	}

	public final static PriceList getInstance() {
		return INSTANCE;
	}

	public void set(String name, int i) {
		map.put(name, i);
	}

	public double get(String name) {
		if (!map.containsKey(name)) {
			return -1;
		}
		return map.get(name);
	}

}

I tu mam następujące problemu ze zrozumieniem pewnych elementów tej klasy, a konkretnie:

Kopiuj
private static final PriceList INSTANCE = new PriceList();

mianowicie tutaj jak rozumiem wywołujemy statyczny obiekt o nazwie INSTANCE tej samej klasy ? Jaki to ma sens ?

co do HashMapy nie mam problemów.

Proszę natosmiat o możliwie szybką odpowiedź ponieważ sesja rychło się zbliża :)
Dziękuje z góry na pomoc :)

edytowany 1x, ostatnio: storin
WK
WK
  • Rejestracja:około 11 lat
  • Ostatnio:prawie 10 lat
  • Postów:110
1

To jest singleton. Zwroc uwage na prywatny konstruktor

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
1

Wygląda to na wzorzec Singleton. Konstruktor jest prywatny, więc nie można go wywołać. W konsekwencji może istnieć tylko jeden obiekt klasy PriceList.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.