现在,我正在尝试实现导入的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将其扩展为泛型时,我遇到了错误。这是一个剧本错误吗?
答案 0 :(得分:1)
你必须实现一个接口,在这种情况下,类中的类型将是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提到的那样,只有在实现(创建方法和正文)接口的每个方法后才能正确实现接口。