簡體   English   中英

如何擴展抽象通用抽象接口?

[英]How to extend abstract generic abstract interface?

現在,我正在嘗試實現一個導入的 Java 抽象接口。 它是一個簡短的界面,如下所示:

public interface USet<T> extends Iterable<T> {
    public int size();
    public boolean add(T x);
    public T remove(T x);
    public T find(T x);
    public void clear();
}

我正在嘗試將此接口 USet 與整數一起使用。 在我自己的類中,我試圖擴展這個類(因為我不能調用它,因為它是抽象的),如下所示:

public class Bag extends USet<Integer>{
    public int size();
    public boolean add(T x);
    public T remove(T x);
    public T find(T x);
    public void clear();
}

基本上,我真的需要通過調用(我認為我不能用抽象接口來做)或擴展來使用 USet 中的函數。 但是,當我嘗試使用 Integer 將其擴展到泛型時出現錯誤。 這是一個腳本錯誤嗎?

您必須實現一個接口,在這種情況下,類中的類型將是 Integer,而不是泛型。

您還必須在實現接口時添加主體。

你的 Bag 類應該是這樣的:

public class Bag implements USet<Integer> {

@Override
public Iterator<Integer> iterator() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public int size() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public boolean add(Integer x) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public Integer remove(Integer x) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public Integer find(Integer x) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void clear() {
    // TODO Auto-generated method stub

}


}

更新:正如stav-saad提到的,只有在實現(創建方法和主體)接口的每個方法后才能正確實現接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM