[英]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.