Wytłumaczenie elementów klasy

0

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

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:

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 :)

1

To jest singleton. Zwroc uwage na prywatny konstruktor

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.

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