java - 使用抽象方法实现接口
问题描述
我正在尝试使用实现接口,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( );
}
解决方案
简短的回答:很可能,您的实现并没有真正“实现”那些抽象方法。接口就像孔。实现填补了这些漏洞,如果没有,您必须将扩展类声明为抽象类,因为它让一些“漏洞”打开。它们仍然必须由不再抽象的实际实现来填充。
这是您的案例的简单实现:
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;}
}
推荐阅读
- algorithm - 从一组线中查找封闭(表面)区域
- r - R data.table - 将函数 A 应用于某些列,将函数 B 应用于其他列
- finance - 如果我知道 EMI、本金 (P) 和时间 (N),如何从 EMI 公式计算利率 (R)?
- django - Django多对多序列化程序反转嵌套的json表示
- swift - 如何在swift4中将字符转换为字符串?
- javascript - javascript回调函数执行哪个线程?
- c# - 通过 POP3 服务器使用 C# 在 Outlook 中解析电子邮件
- android - Android ListView 中的 RxJava - 如何跟踪每一行的 Observables?
- react-native - 反应导航BottomTabNavigator上的线性渐变
- excel - 执行 If 语句的更快方法