使用抽象方法实现接口
Implementing an Interface with an abstract method
我正在尝试使用 public class MyStringSet implements StringSet{}
实现一个接口,但我不断收到“MyStringSet 不是抽象的并且没有覆盖 StringSet 中的抽象方法 getCapacity()”的错误。我如何才能在不出现此错误的情况下实现此接口?
public interface StringSet {
public void resize(int larger);
public void insert(String entry);
public void remove(String target);
public String getRandomItem ();
public String getFirstItem ();
public boolean contains(String target);
public boolean is_empty( );
public int inventory( );
public int getCapacity( );
}
简短回答:很可能,您的实现并没有真正“实现”那些抽象方法。接口就像孔。该实现填补了这些漏洞,如果没有,您必须将扩展 class 声明为抽象的,因为它让其中一些“漏洞”打开了。它们仍然必须由不再抽象的真实实现来填充。
下面是针对您的案例的简单实施:
public class MyStringSet implements StringSet {
public void resize(int larger) {}
public void insert(String entry) {}
public void remove(String target) {}
public String getRandomItem () {return null;}
public String getFirstItem () {return null;}
public boolean contains(String target) {return false;}
public boolean is_empty( ) {return false;}
public int inventory( ) {return 0;}
public int getCapacity( ) {return 0;}
}
我正在尝试使用 public class MyStringSet implements StringSet{}
实现一个接口,但我不断收到“MyStringSet 不是抽象的并且没有覆盖 StringSet 中的抽象方法 getCapacity()”的错误。我如何才能在不出现此错误的情况下实现此接口?
public interface StringSet {
public void resize(int larger);
public void insert(String entry);
public void remove(String target);
public String getRandomItem ();
public String getFirstItem ();
public boolean contains(String target);
public boolean is_empty( );
public int inventory( );
public int getCapacity( );
}
简短回答:很可能,您的实现并没有真正“实现”那些抽象方法。接口就像孔。该实现填补了这些漏洞,如果没有,您必须将扩展 class 声明为抽象的,因为它让其中一些“漏洞”打开了。它们仍然必须由不再抽象的真实实现来填充。
下面是针对您的案例的简单实施:
public class MyStringSet implements StringSet {
public void resize(int larger) {}
public void insert(String entry) {}
public void remove(String target) {}
public String getRandomItem () {return null;}
public String getFirstItem () {return null;}
public boolean contains(String target) {return false;}
public boolean is_empty( ) {return false;}
public int inventory( ) {return 0;}
public int getCapacity( ) {return 0;}
}