2017-01-19 3 views

답변

0

public abstract class BaseClass<X extends SecondClass, T extends FirstClass, U extends BaseAnother<X>> {, 아니요?

가이 유형의 변수를 사용하는 방법에 대해

생각 (나는 을 추가 한 X SecondClass 확장). 클래스를 정의 할 때 이것을 선언하는 방법은 new BaseClass< /* type parameters - here */> { ... }에 있습니다.

NormalClassDeclaration : ClassModifiersopt 클래스 식별자 TypeParametersopt Superopt Interfacesopt ClassBody

가 아래에서 예를 참조하십시오

또한 JLS에 따라 입력 매개 변수를 한 곳에서 클래스 정의에 선언주의 8.1.2. 일반 클래스 및 형식 매개 변수 장 :

interface ConvertibleTo<T> { 
    T convert(); 
} 
class ReprChange<T extends ConvertibleTo<S>, 
       S extends ConvertibleTo<T>> { 
    T t; 
    void set(S s) { t = s.convert(); } 
    S get()  { return t.convert(); } 
}