首页 > 解决方案 > 我正在学习为包中的接口单独编写实现类,但不断出错?

问题描述

这是我的界面:

  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)。

关于我在哪里以及为什么我错了的任何评论都会非常有帮助。

标签: javainterfacepackage

解决方案


1)您需要在实现它的第一个具体类中实现所有方法。

2)当实现一个接口有一个抛出异常的方法时,你不需要在覆盖它的方法中声明那个异常


推荐阅读