实现抽象类 Java 的接口



我正在测试一个程序,我试图在其中实现抽象类的接口。 如下所述

 interface Inf{
    void display();
}
abstract class InfTst implements Inf{
}
class InterfaceTest extends InfTst{
    void display(){
        System.out.println("Hello");
    }
}

但它显示错误

错误:接口测试中的 display() 无法在 Inf 中实现 display() void display(){

此错误是什么意思以及如何解决它,请帮助我。

当您在接口上省略访问修饰符时,它默认为 public,但在具体类上,它默认为 package-private。

在具体类InterfaceTest中将方法签名更改为下面

public void display(){..}

在具体类中,默认情况下包是私有的。具体方法意味着,该方法具有完整的定义,因此必须始终是您的方法修饰符是公开的。

   package domain;
    interface Inf {
      void display();
     }
    abstract class InfTst implements Inf {
    }
 class InterfaceTest extends InfTst {
    public void display() {
    System.out.println("Hello");
}
}
 public class StackOverFlow extends InterfaceTest {
  public static void main(String[] args) {
    StackOverFlow sof = new StackOverFlow();
    sof.display();
}
}

输出 : - 你好

最新更新