這似乎並不工作(編譯抱怨Something
的getFoo()
方法沒有實現HasFoo
),我想不通爲什麼或如何解決它....的java:界面和模板
enum FooKey { BLOB1, DONUT, ... }
interface HasFoo
{
public Object getFoo(FooKey k);
}
class Something implements HasFoo
{
private Map<FooKey, Object> map;
@SuppressWarnings("unchecked")
@Override
<T> T getFoo(FooKey k)
{
return (T)map.get(k);
}
/* other stuff deleted */
}
我想輸入接口,我也希望能夠做的東西像
Something something = ...
Blob blob1 = something.getFoo(FooKey.BLOB1);
Donut donut = something.getFoo(FooKey.DONUT);
doh!所以它!我不知道你可以在界面中做到這一點,我認爲你只能做'接口HasFoo'。 –
2010-03-05 15:36:46