-2

同等のジェネリックを含むこのクラスの採用を作成できませんでした。ここで何が欠けていますか?これはエラーをスローします。

public class Generics <T extends Comparable<T>> 
    extends Parent<T extends Comparable<T>> {

    ArrayList<T> ar;

    public Generics() {
        ar = new ArrayList<>();
    }

    @Override
    public void add(T elt){
        ar.add(elt);
    }
}

そして、親クラスは次のとおりです。

public class Parent <T extends Comparable<T>>{
    int size =0;
    public Parent(){
        size=0;
    }

    public void add(T elt){
        size++;
    }
}

次の「スーパークラスの抽出」を試してください。ArrayListとadd(T elt)を抽出してみました。これは次の構成にあります。

製品バージョン:NetBeans IDE 7.2(ビルド201207171143)Java:1.7.0_07; Java HotSpot(TM)64ビットサーバーVM 23.3-b01システム:Linuxバージョン3.2.0-30-一般的にamd64で実行。UTF-8; en_US(nb)

public class Generics <T extends Comparable<T>> {

    ArrayList<T> ar;
    int size;

    public Generics() {
        ar = new ArrayList<>();
        size = 0;
    }

    public void add(T elt){
        ar.add(elt);
        size++;
    }
}
4

2 に答える 2

5

これを試してみてください

public class Generics <T extends Comparable<T>> 
    extends Parent<T> {

    ArrayList<T> ar;

    public Generics() {
        ar = new ArrayList<>();
    }

    public void add(T elt){
        ar.add(elt);
    }
}
于 2012-10-12T18:58:55.337 に答える
1
public class Generics <T extends Comparable<T>> extends Parent<T> {

ArrayList<T> ar;

public Generics() {
    ar = new ArrayList<T>();
}

    public void add(T elt){
      ar.add(elt);
    }
}



public class Parent <T extends Comparable<T>>{
int size =0;
   public Parent(){
       size=0;
    }

    public void add(T elt){
      size++;
    }
}
于 2012-10-12T18:59:42.353 に答える