2017-01-19 12 views

答えて

0

public abstract class BaseClass<X extends SecondClass, T extends FirstClass, U extends BaseAnother<X>> {、いいえ?

(私はXがSecondClass拡張を追加しました)

あなたはこの型変数を使用する方法について考えてみてください。クラスを定義するときにそれを宣言する方法は、new BaseClass< /* type parameters - here */> { ... }にそれを渡すことです。そこから下の例を参照してください ClassModifiersoptクラス識別子TypeParametersopt Superopt Interfacesopt ClassBody

NormalClassDeclaration:

またJLSによると、型パラメータを1つの場所でクラス定義で宣言され、注意してください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(); } 
} 
関連する問題