У меня есть класс с именем cache. Это универсальный абстрактный класс, отвечающий за обработку глобального кэша для типа forever. Мой вопрос: если у меня есть статическая переменная в базовом классе, будет ли статическая переменная уникальной для каждого расширяющего типа или она будет одинаковой для всех типов, расширяющих Cache.
Например, интерфейс:
Cache<K, V>
private static Cache<K, V>
[creates a cache store on first load]
static V get(K key);
Тогда у меня есть класс реализации:
PersonCache extends Cache<String, Person>
void load(String person);
JobCache extends Cache<Integer, Job>
void load(Integer key);
Какое поведение будет ожидать от статической переменной Cache. [Намерение переменной get состоит в том, чтобы быть единственной общедоступной точкой входа в хранилище JobCache / PersonCache] будет ли каждый тип (PersonCache, JobCache] иметь свое собственное хранилище кэша, или Cache попытается сохранить все, что получит?