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