java - 我正在学习为包中的接口单独编写实现类,但不断出错?
问题描述
这是我的界面:
public interface prog56pack2interface
{
double add (int v1, int v2);
double subtract (int v1, int v2);
double product (int v1, int v2);
double divide (int v1, int v2);
String showme ();
}
这是我的实现类的代码:
public class prog56pack2implclasses1 implements prog56pack2interface
{
public double add (int v1, int v2)
{
return v1 + v2;
}
public double subtract (int v1, int v2)
{
if (v1 > v2)
{
return v1 - v2;
}
else
{
return v2 - v1;
}
}
}
我在这里有两个主要疑问:
1)为什么当我按原样编译上述代码时会出现此错误
prog56pack2implclasses1 不是抽象的,不会覆盖公共类 prog56pack2implclasses1 实现 prog56pack2interface
2)当我包含提示用户进行 I/O 操作的“divide()”方法时,我收到一个错误:(我在方法附近包含了 throws IOException)
prog56pack2implclasses1 中的 divide(int,int) 无法在 prog56pack2interface 中实现 divide(int,int)。
关于我在哪里以及为什么我错了的任何评论都会非常有帮助。
解决方案
1)您需要在实现它的第一个具体类中实现所有方法。
2)当实现一个接口有一个抛出异常的方法时,你不需要在覆盖它的方法中声明那个异常
推荐阅读
- java - org.springframework.jdbc.support.MetaDataAccessException:提取DatabaseMetaData时出错
- akka - akka-quartz-scheduler:找不到匹配的石英配置
- c++ - 我们可以在 C++ 中使用向量来获取未知大小的用户输入,直到我们按下回车键?
- delphi - WinInet InternetCloseHandle 不关闭连接
- python - 实现pop3客户端
- java - 在 java 中生成报告 pdf - swing、table
- python-3.x - Pysimplegui 比迪支持
- jquery - 如果字符串等于则加载 div
- c++ - Windows 控制台应用程序何时需要调用 CoInitialize
- pandas - 使用 Python,如果您的数据没有每个类别中的数据,您如何制作包含所有 24 个楔形的时间轮?