如果在Java接口中定义一个具体方法会发生什么?


Java中的接口类似于类,但是它只包含抽象方法和final和static修饰的字段。

由于所有方法都是抽象的,因此无法实例化它。要使用它,需要使用一个类实现此接口,并为其中的所有抽象方法提供方法体。

接口中的具体方法

接口中的所有方法都必须是抽象的,不能有具体方法(有方法体的方法);如果尝试这样做,会得到一个编译时错误,提示“接口抽象方法不能有方法体”。

示例

在下面的Java程序中,我们尝试在一个接口中编写一个有方法体(具体)的方法。

public interface MyInterface{
   public static final int num =40;
   public void demo(){
      System.out.println("This is a concrete method in the interface");
   }
}

编译时错误

编译时,此程序会生成以下编译时错误。

MyInterface.java:3: error: interface abstract methods cannot have body
public void demo(){
^
1 error

更新于:2020年6月29日

3K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告