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, botów: 0