【发布时间】:2012-01-02 03:54:27
【问题描述】:
我有一个叫做缓存的类。它是一个通用的、抽象的类,负责为永远类型扩展类处理全局缓存。我的问题是,如果我在基类下有一个静态变量,静态变量是每个扩展类型唯一的,还是对于所有扩展 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 是否会尝试存储它接收到的所有内容?
【问题讨论】:
标签: java generics caching inheritance static