如果在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