我想寫一個通用服務,應該與一個特定類型的對象一起工作。當我編寫該服務的自定義實現時,我想反對變量。因此我想覆蓋創建該對象的方法。如何返回泛型類中的對象的泛型類型?
但它不起作用。在java中不可能實現以下目標嗎?
class MyService<T extends Foo> {
//Type mismatch: cannot convert from Foo to T
public T createObject() {
return new Foo();
}
public void run() {
T t = createObject();
//work with the object
}
}
class Bar extends Foo;
class CustomService<Bar> {
@Override
public Bar createObject() {
return new Bar();
}
}