나는 다음과 같은 인터페이스를 가지고 말해 특정 유형의 슈퍼 클래스의 일반적인 방법을 확장?자바
@Override
public <Graphics> void setBackingGraphics(Graphics t) {
...
}
"그래픽"이 다른 자리 표시 자로 간주되므로 분명히 작동하지 않습니다. 실제로 그것을 "사용 가능"하게 만드는 방법은 무엇입니까? 예를 들어 제네릭 클래스를 사용하여 의미하는 바를 보여 드리겠습니다.
public interface A<T> {
T someT();
}
public class C extends A<B> {
B someT(){...}
}
어떻게하면 특정 메서드에만 적용 할 수 있을까요? 그래서 당신이 할 수있는 유일한 방법은
귀하의 운전 방식을 d' public void setBackingGraphics (T t);는 어떤 렌더러에 대해서도'T'의 값에 대해'setBackingGraphics (T)'를 호출 할 수 있다고 주장합니다. 이것은, 범용적인'setBackingGraphics (Object)'를 가지는 것과 동등하지만, Renderer의 정의를 깨지 않으면 서, Renderer가 더 명확하지 않을 수 있습니다. 하위 인터페이스에 추가하기 만하면됩니다. –