특정 유형의 개체에서 작동해야하는 일반 서비스를 작성하고 싶습니다. 해당 서비스의 사용자 정의 구현을 작성할 때 변수가 될 수 없으므로 반대하고 싶습니다. 따라서 나는 그 객체를 생성하는 메소드를 오버라이드하고 싶었다.제네릭 클래스 내에서 개체의 제네릭 형식을 반환하는 방법?
하지만 작동하지 않습니다. 다음과 같은 자바를 구현하는 것이 불가능합니까?
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();
}
}